public class Test2 {
public static void main(String [] args){
System.out.println("第一次new AAA对象!");
AAA aaa_1 = new AAA();
System.out.println("第二次new AAA对象!");
AAA aaa_2 = new AAA();
}
}
class AAA{
public CCC ccc = new CCC();
public static BBB bbb = new BBB();
static{
System.out.println("aaa");
}
public AAA(){
System.out.println("AAA构造方法执行");
}
}
class BBB{
public BBB(){
System.out.println("BBB构造方法执行");
}
}
class CCC{
public CCC(){
System.out.println("CCC构造方法执行");
}
}
结果:
第一次new AAA对象!
BBB构造方法执行
aaa
CCC构造方法执行
AAA构造方法执行
第二次new AAA对象!
CCC构造方法执行
AAA构造方法执行
执行顺序:static修饰的属性(第一次new时执行)------static块(第一次new时执行)------没有static修饰的属性------构造方法
java_类实例化顺序
猜你喜欢
转载自blog.csdn.net/blossomfzq/article/details/82906038
今日推荐
周排行