Java父子类中静态代码块与构造函数的执行顺序
基类:
public class BaseClass {
static {
System.out.println("父类-->静态代码块");
}
public BaseClass() {
System.out.println("父类-->构造函数");
}
{
System.out.println("父类-->非静态代码块");
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new SubClass();
}
}子类:
public class SubClass extends BaseClass {
static {
System.out.println("子类-->静态代码块");
}
{
System.out.println("子类-->非静态代码块");
}
public SubClass() {
System.out.println("子类-->构造函数");
}
}
执行顺序:
父类-->静态代码块
子类-->静态代码块
父类-->非静态代码块
父类-->构造函数
子类-->非静态代码块
子类-->构造函数
本文详细介绍了在Java继承体系中,当创建子类实例时,父类与子类中的静态代码块、非静态代码块及构造函数的执行顺序。通过具体的代码示例展示了这一过程。
1596

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



