Java

静态代码块、构造代码块 继承情况下执行顺序

2017-03-20  本文已影响23人  ThingLin

</br>

static{ }静态代码块在类加载时执行。{ }构造代码与构造器在实例化成对象时会先后顺序一组执行。
  在继承状态下,先父后子。

</br>

Parent.java


package demo0320;

public class Parent {

    static {
        System.out.println("Parent static{ }");
    }
    
    {
        System.out.println("Parent { }");
    }
    
    public Parent(){
        System.out.println("Parent(){ }");
    }
    
}

</br>

Son.java


package demo0320;

public class Son extends Parent{

    static {
        System.out.println("Son static{ }");
    }
    
    {
        System.out.println("Son { }");
    }
    
    public Son(){
        System.out.println("Son(){ }");
    }
    
}

</br>

TestMain.java


package demo0320;

public class TestMain {

    public static void main(String[] args) {
        new Son();
        new Son();
    }
    
}

执行结果:


Parent static{ }
Son static{ }
Parent { }
Parent(){ }
Son { }
Son(){ }
Parent { }
Parent(){ }
Son { }
Son(){ }

</br>
</br>
</br>

上一篇下一篇

猜你喜欢

热点阅读