public class A {
static{
System.out.println("A static");
}
{
System.out.println("A");
}
public A(){
System.out.println("A的构造");
}
}
public class B extends A {
static{
System.out.println("b static");
}
{
System.out.println("B");
}
public B(){
System.out.println("B的构造");
}
public static void main(String args[]){
System.out.println("m***");
A a= new B();
System.out.println("n****");
}
}
输出结果:
A static
b static
m***
A
A的构造
B
B的构造
A
A的构造
n****
先基类的static ->子类的static ->基类的{}->子类的{}->基类的构造->子类的构造
本文通过具体示例详细解析了Java中对象构造的过程,特别是当一个类继承另一个类时,构造函数的调用顺序和机制。包括静态初始化块、实例初始化块及构造方法的执行流程。

1630

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



