Java实例变量初始化顺序

时间:2014-07-05 18:06:48

标签: java initialization instance

我在Java中提出了一些相当常见的问题,但不幸的是,我可以找到答案或资源,为这个问题提供完整的结构化答案。我想知道Java中的(对象)初始化的完整过程是什么,它的顺序是什么?特别是我不确定实例变量何时获得其默认值及其启动值。据我所知,典型类中的初始化顺序即A为:

class B {

}

class A extends B {

    int x = 5;

    public A() {
        ...
    }

}

1)静态初始化块(假设它存在)

2)调用super()构造函数

3)实例启动块(假设它存在)

4)除了构造函数的其余部分

在上面的顺序中,默认初始化(x=0)和实际初始化(x=5)是否在列表中?

0 个答案:

没有答案