调用另一类的静态,非静态属性的方法,静态块,构造块,运行先后

来源:互联网 发布:java 分布式 dubbo 编辑:程序博客网 时间:2024/06/05 19:19
/**
 * 
 */
package tp.jk.cn.d1;


/**
 * @author 谭鹏
 * @package_name tp.jk.cn.d1
 * @project_name easyJava
 * @file_name    A.java
 * @date         2017-11-20
 * @time         下午3:28:59
 */
public class A {

public static void main(String args[]){

B.method1();
//静态的东西是属于类的,因此要用: 类名.方法名()

B b = new B();
b.method2();
//非静态的东西是属性对象的,因此要用:对象名.方法名()


}
}
class B{
public static void method1(){
System.out.println("这是一个静态方法");
}
public void method2(){
System.out.println("这是一个非静态方法");
}

}

——————————————————————————————————————————————

public class A {
public static A a1 = new A();
public static A a2 = new A();
{
System.out.println("构造块");
}
static{
System.out.println("静态块");
}
public static void main(String args[]){
A  a = new A();

      }

}

输出:

构造块
构造块
静态块
构造块

原因:

静态块:用static声明,jvm加载类时执行,仅执行一次,有多个静态块时,按声明的先后顺序执行

构造快:类中直接用{}定义,每一次创建对象时执行

执行的先后速度:静态块>main()>构造块>构造方法

阅读全文
0 0
原创粉丝点击