public class AA{
public AA()
{
System.out.println("class A");
}
static {System.out.println("static A");}
{
System.out.println("not static A");
}
}
public class BB extends AA
{
BB()
{//自动补上super();
System.out.println("class B");
}
static {System.out.println("static B");}
{
System.out.println("not static B");
}
public static void main(String[] p)
{
new BB();
}
}
output:
static A
static B
not static A
class A
not static B
class B
static块先执行,从基类到派生类;
类中块先执行,再执行构造,从基类到派生类。
本文详细解析了Java中类的继承与构造方法的执行顺序,从静态块到普通块,再到构造方法的调用流程,展示了从基类到派生类的执行路径。

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



