美文网首页
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