备注:执行main()方法会先加载main()方法所在的类。存在继承关系中,创建子类对象初始化过程为:
父类静态成员和语句块
子类静态成员和静态语句块
父类普通成员和普通语句块
父类构造函数
子类普通成员和普通语句块
子类构造函数
示例如下:
public class A {
public A(){
System.out.println(“A构造函数-----”);
}
{
System.out.println(“A普通语句块-----”);
}
static
{
System.out.println(“A静态语句块-----”);
}
}
class B extends A{
public B(){
System.out.println(“B构造函数-----”);
}
{
System.out.println(“B普通语句块-----”);
}
static
{
System.out.println(“B静态语句块-----”);
}
public static void main(String[] args) {
System.out.println("main---------");
A a = new B();
}
}

本文详细介绍了Java中创建带有继承关系的对象时的初始化顺序,包括静态成员、普通成员、构造函数等的执行顺序。通过一个实例展示了从父类到子类的构造流程,帮助理解Java对象的生命周期和初始化过程。

6175

被折叠的 条评论
为什么被折叠?



