java初始化构造函数调用顺序
Posted XianMing的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java初始化构造函数调用顺序相关的知识,希望对你有一定的参考价值。
直接举例说明,看下面程序和结果。
class HelloA
//父类构造函数
public HelloA()
System.out.println("HelloA");
//父类块
System.out.println("I am A");
//父类静态块
static
System.out.println("static A");
public class HelloB extends HelloA
//构造函数
public HelloB()
System.out.println("HelloB");
//块
System.out.println("I am B");
//静态块
static
System.out.println("static B");
public static void main(String[] args)
//初始化子类HelloB
new HelloB();
运行结果:
static A
static B
I am A
HelloA
I am B
HelloB
所以结论是:在程序中,实例化一个类对象的时候,运行顺序为:
1.父类静态块
2.子类静态块
3.父类块
4.父类的构造器
5.子类块
6.子类的构造器
以上是关于java初始化构造函数调用顺序的主要内容,如果未能解决你的问题,请参考以下文章