代码的执行顺序如下:

1、一个类的静态代码块、构造代码块、构造方法的执行流程为: 静态代码块 > 构造代码块 > 构造方法

2、静态的内容是随着类的加载而加载,静态代码块的内容会优先执行

3、子类初始化之前会先进行父类的初使化

 1 package debug;
 2 
 3 class Fu{
 4     static {
 5         System.out.println("Fu静态");
 6     }
 7     {
 8         System.out.println("FU构造语句块");
 9     }
10     public Fu() {
11         System.out.println("FU构造语句");
12     }
13 }
14 
15 class Zi extends Fu{
16     static {
17         System.out.println("Zi静态");
18     }
19     
20     {
21         System.out.println("Zi构造代码块");
22     }
23     
24     public Zi() {
25         System.out.println("Zi构造语句");
26     }
27 }
28 
29 
30 
31 public class Demo15 {
32     public static void main(String[] args) {
33         Zi z = new Zi();
34         
35     }
36 
37 }

输出如下:

Fu静态
Zi静态
FU构造语句块
FU构造语句
Zi构造代码块
Zi构造语句

  

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!