构造函数 非静态代码块 构造函数的执行顺序

public class ExA {  
    static {  
        System.out.println("父类--静态代码块");  
    }  
   
    public ExA() {  
        System.out.println("父类--构造函数");  
    }  
   
    {  
        System.out.println("父类--非静态代码块");  
    }  
   
    public static void main(String[] args) {  
        new ExB();  
    }  
}  
   
class ExB extends ExA {  
    static {  
        System.out.println("子类--静态代码块");  
    }  
    {  
        System.out.println("子类--非静态代码块");  
    }  
   
    public ExB() {  
        System.out.println("子类--构造函数");  
    }  
}  
 

执行结果

父类--静态代码块
子类--静态代码块
父类--非静态代码块
父类--构造函数
子类--非静态代码块
子类--构造函数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容