javase繼承初始化順序

 靜態成員變量>靜態方法>基類構造器>子類構造器(這是一個向上迭代的過程)

   ps:static關鍵字不能應用於局部變量,因此它只能作用於域

package cn.papop.Chapter_Eight.demo04;

class A {
    public A() {
        System.out.println("AAAAAAAAAAAAA");
    }
}

class B {
    public B() {
        System.out.println("BBBBBBBBBBBBB");
    }
}

class C extends B {
    public C() {
        System.out.println("CCCCCCCCCCCCC");
    }
}

class D extends C {
    static A a = new A();

    public D() {
        System.out.println("DDDDDDDDDDDDD");
    }
}

public class TheOrderOfInitialization {
    static B b = new B();

    public static void main(String[] args) {
        D d = new D();
    }
}

輸入結果爲

BBBBBBBBBBBBB
AAAAAAAAAAAAA
BBBBBBBBBBBBB
CCCCCCCCCCCCC
DDDDDDDDDDDDD

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章