Java中代码块执行顺序
代码块:在Java中,使用{}括起来的代码被称为代码块。
根据其位置和声明的不同,可以分为
局部代码块:局部位置,用于限定变量的生命周期。
构造代码块:在类中的成员位置,用{}括起来的代码。每次调用构造方法执行前,都会先执行构造代码块。
作用:可以把多个构造方法中的共同代码放到一起,对对象进行初始化。
静态代码块:在类中的成员位置,用{}括起来的代码,只不过它用static修饰了。
作用:一般是对类进行初始化。
静态代码块,构造代码块,构造方法的执行顺序?
首先执行静态代码块
接着执行构造代码块
最后指向构造方法
class Fu{ static { System.out.println("Fu static code"); } { System.out.println("Fu code"); } public Fu(){ System.out.println("Fu GouZao"); } } class Zi extends Fu{ static { System.out.println("Zi static code"); } { System.out.println("Zi code"); } public Zi(){ System.out.println("Zi GouZao"); } } public class Text{ public static void main(String[] args) { Zi zi = new Zi(); } }
输出:
Fu static code Zi static code Fu code Fu GouZao Zi code Zi GouZao
往事如烟,余生有我.