3.创建对象时调用顺序

通过一个例子,来简单说一下创建对象时调用顺序问题。这里只是初步简单了解一下,并不深入。

有一个父类A,其代码如下:

 1 class HelloA {
 2     public HelloA(){
 3         System.out.println("HelloA");
 4     }
 5     {
 6         System.out.println("I'm A class");
 7     }
 8     static{
 9         System.out.println("static A");
10     }
11 }

有一个java类B,继承了类A

public class HelloB extends HelloA {
    public HelloB(){
        System.out.println("HelloB");
    }
    {
        System.out.println("I'm B class");
    }
    static{
        System.out.println("static B");
    }
}

运行结果:

 

 从结果分析: 

1.先初始化父类和子类的静态成员(带有static)

2.父类非静态成员

3.父类构造方法

4.子类非静态成员

5.子类构造方法

posted @ 2020-04-25 16:12  倾心碳酸饮料  阅读(183)  评论(0)    收藏  举报