java子类和父类中静态块、非静态块、构造函数的执行顺序

 1 public class qqqq extends Parent{
 2     
 3 public static void main(String[] args) {
 4     new Child();
 5 }
 6 }
 7 class Parent{
 8     static{
 9         System.out.println("父类的静态块执行");
10     }
11     {
12         System.out.println("父类的非静态块执行");
13     }
14     public  Parent(){
15         System.out.println("父类的构造函数执行");
16     }
17 }
18 class Child extends Parent{
19     static{
20         System.out.println("子类的静态快执行");
21         
22     }
23     {
24         System.out.println("子类的非静态块执行");
25     }
26     public Child(){
27         System.out.println("子类的构造函数执行");
28     }
29     
30 }

输出:

父类的静态块执行
子类的静态快执行
父类的非静态块执行
父类的构造函数执行
子类的非静态块执行
子类的构造函数执行

 

posted @ 2017-04-14 18:27  不吃陈皮  阅读(347)  评论(0编辑  收藏  举报