美文网首页Java
静态代码块、构造代码块 继承情况下执行顺序

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

作者: ThingLin | 来源:发表于2017-03-20 01:45 被阅读23次

</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>

相关文章

网友评论

    本文标题:静态代码块、构造代码块 继承情况下执行顺序

    本文链接:https://www.haomeiwen.com/subject/jjqbnttx.html