类加载顺序
1、类属性
2、静态块
3、main函数
对象实例化顺序
1、对象属性
2、非静态块
3、构造函数
示例
class A {
public A() {
System.out.println("A的构造方法");
}
public static int j = print();
public static int print() {
System.out.println("A print");
return 521;
}
}
public class Test1 extends A {
public Test1() {
System.out.println("Test1的构造方法");
}
public static int k = print();
public static int print() {
System.out.println("Test print");
return 522;
}
public static void main(String[] args) {
System.out.println("main start");
Test1 t1 = new Test1();
}
}
运行结果:
A print
Test print
main start
A的构造方法
Test1的构造方法