美文网首页
java 静态代码块 构造函数 父子类中的执行顺序

java 静态代码块 构造函数 父子类中的执行顺序

作者: 那钱有着落吗 | 来源:发表于2023-09-07 10:12 被阅读0次
父类B代码如下:

public class B {

public B(){
System.out.println("父类B的构造函数");
}

static {
System.out.println("父类B的中的静态代码块");
}

{
System.out.println("父类B的中的非静态代码块 sya()");
}
}

子类A代码如下:

public class A extends B{
public A(){
System.out.println("子类A的构造函数");
}

static {
System.out.println("子类A的中的静态代码块");
}

{
System.out.println("子类A的中的非静态代码块 sya()1");
}

public static void main(String[] args) {
A a = new A();
System.out.println("A!");
A a2 = new A();
System.out.println("启动完成");
}
}

执行顺序如下:

父类B的中的静态代码块
子类A的中的静态代码块
父类B的中的非静态代码块 sya()
父类B的构造函数
子类A的中的非静态代码块 sya()1
子类A的构造函数
A!
父类B的中的非静态代码块 sya()
父类B的构造函数
子类A的中的非静态代码块 sya()1
子类A的构造函数
启动完成

相关文章

网友评论

      本文标题:java 静态代码块 构造函数 父子类中的执行顺序

      本文链接:https://www.haomeiwen.com/subject/nbwlvdtx.html