读书人

关于种初始化过程中各个元素的初始顺序

发布时间: 2013-03-25 15:43:04 作者: rapoo

关于类初始化过程中各个元素的初始顺序
public class Father {public static Display a1 = new Display("a1");public Display b = new Display("b");static{Display a2 = new Display("a2");}public Father(){Display c = new Display("c");}}

?

public class Child extends Father{public static Display A1 = new Display("A1");public Display B = new Display("B");static{Display A2 = new Display("A2");}public Child(){Display C = new Display("C");}}

?

public class Display {public Display(String name){System.out.println(name);}}

?

public class Test {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubChild child = new Child();}}

?运行结果:

a1a2A1A2bcBC

?总结:

0.静态变量和静态代码块是与类相关的,所以优先于其他实例元素,如实例变量和构造函数.

1.实例变量优先于构造函数.

2.父类元素优先于子类元素.

读书人网 >编程

热点推荐