class A{ public int i = m1(); public static int j = m2(); public int k = 0; public A() { System.out.println(1); } public int m1(){ System.out.println(2); return 2; } public static int m2(){ System.out.println(3); return 3; } }
class B extends A{ public int m = m3(); public static int n = m4(); public int t = 0; public B(){ System.out.println(4); } public int m3(){ System.out.println(5); return 5; } public static int m4(){ System.out.println(6); return 6; } /** * 加载顺序: * 父类静态(不包括静态方法)--> 子类静态(不包括静态方法) --> sout(7) --> * 父类非静态变量 --> 父类构造器 --> 子类变量 --> 子类构造器 * * */ public static void main(String[] args) { System.out.println(7); A a = new B(); } }
执行结果:
3
6
7
2
1
5
4