代码的执行顺序如下:

类的加载三个原则:

 看程序写结果: 

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

A:一个类的静态代码块,构造代码块,构造方法的执行流程。

 
A:一个类的静态代码块,构造代码块,构造方法的执行流程

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

静态代码块>构造代码块>构造方法。

 
 静态代码块 > 构造代码块 > 构造方法

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

B:静态的内容是随着类的加载而加载的。

 
B:静态的内容是随着类的加载而加载

 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 }

静态代码块会优先执行。

 
 静态代码块的内容会优先执行

发表评论

电子邮件地址不会被公开。 必填项已用*标注