java子类和父类的执行顺序

来源:互联网 发布:网络直播公司策划 编辑:程序博客网 时间:2024/04/28 05:00

 java中一个类首先是被加载到内存后,再去按顺序执行类中的static完成初始化,在加载过程先是加载父类,在去加载子类。构建子类实例时,先创建父类的实例。执行构造方法时,先去初始化成员属性。举个例子说明下:

class Test {public static void main(String[] args) {new Sub();new Sub();}}class Super {public static int i=0;static {System.out.println(i);}public Super() {System.out.println("super"+i);}}class Sub extends Super{public static int t = 1;static {System.out.println(t);}public Sub() {System.out.println("test"+t);}}
执行顺序是
1.public static int i=0;
2.System.out.println(i);
3.public static int t = 1;
4.System.out.println(t);
5.System.out.println("test"+t);
6.System.out.println("super"+i);
执行结果
0
1
super0
test1
super0
test1

 

0 0