Java new一个子类对象时static和构造函数的执行顺序

来源:互联网 发布:亚马逊德国站情况知乎 编辑:程序博客网 时间:2024/05/16 15:00
package myPackage;public class ClassA extends ClassB{static {System.out.println("A");}public ClassA(){System.out.println("B");}public static void main(String[] args) {new ClassA(); //结果是CADB//new ClassB(); 如果是ClassB继承了ClassA, 那么结果是ACBD//上述两个测试说明了执行顺序是: 父类static块 -> static块 -> 父类构造函数 -> 子类构造函数}}class ClassB{static {System.out.println("C");}public ClassB(){System.out.println("D");}public void ClassB(){//不推荐方法名与类名相同System.out.println("E");}}

阅读全文
0 0