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

  

posted @ 2018-08-23 10:13  闻长歌而知雅意  阅读(352)  评论(1编辑  收藏  举报