类中代码的执行顺序

一般情况:

  • 静态代码块 >> 一切

创建类时:

  • 父类 >> 子类
  • 构造代码块 >> 构造方法

代码:

class A{
    public A()
    {
        System.out.println("1.父类A的构造方法");
    }
    {
        System.out.println("2.父类A的构造代码块");
    }
    static{
        System.out.println("3.父类A的静态代码块");
    }
}
public class B extends A{
    public B()
    {
        System.out.println("4.子类B的构造方法");
    }
    {
        System.out.println("5.子类B的构造代码块");
    }
    static{
        System.out.println("6.子类B的静态代码块");
    }
    //测试
    public static void main(String[] args)
    {
        System.out.println("7.start......");
        new B();
        System.out.println("8.end.....");
    }
}

>>> 3.父类A的静态代码块
>>> 6.子类B的静态代码块
>>> 7.start......
>>> 2.父类A的构造代码块
>>> 1.父类A的构造方法
>>> 5.子类B的构造代码块
>>> 4.子类B的构造方法
>>> 8.end.....

版权声明:本文为qq_43315207原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。