类的加载顺序,初始化块

来源:互联网 发布:服装数据分析文字 编辑:程序博客网 时间:2024/06/03 19:51

在此先介绍一下初始化块:初始化块是java类里的一个成员,但它没有名称,也就没有标识,因此无法通过类和对象类调用。初始化块只能在创建对象时自动执行而且在构造方法之前执行。

了解初始化块之后请看一下代码:

package base.java;public class InitializationBlock extends Initializationfoo{    {        System.out.println("子类初始化块");    }    static    {        System.out.println("子类静态初始化块");    }    public InitializationBlock()    {        System.out.println("子类构造函数");    }    public static void main(String[] args) {        new InitializationBlock();    }}class Initializationfoo{    {        System.out.println("父类初始化块");    }    static{        System.out.println("父类静态初始化块");    }    public Initializationfoo()    {        System.out.println("父类构造函数");    }}

以上代码块的运行结果是:
父类静态初始化块
子类静态初始化块
父类初始化块
父类构造函数
子类初始化块
子类构造函数

由此可见,类的加载顺序是:先加载父类的静态初始化块,然后子类的静态初始化块,然后父类的初始化块和构造函数,再加载子类初始化块和构造函数。

0 0
原创粉丝点击