美文网首页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