1. 程式人生 > >三行程式碼看懂Java構造方法鏈

三行程式碼看懂Java構造方法鏈

Java構造方法鏈:當前類在操作自己建構函式時候(初始化物件),首先會檢查其父類的構造方法和靜態塊,如果存在則會先初始化父類的建構函式,同時,該類也會檢查是否存在父類有建構函式和靜態塊,如果存在同樣需要初始化,一直向上進行檢查,直到檢查為空。 

/**
 * @author 冉野 E-mail:[email protected]
 * @version 建立時間:18/9/29 下午6:41
 */
public class ParentClass {

    /**
     * 爺爺
     */
    static class Patent {
        static {
            System.out.println("爺爺--靜態塊");
        }

        Patent() {
            System.out.println("爺爺--建構函式");
        }
    }

    /**
     * 爸爸
     */
    static class Stb1 extends Patent {
       static {
           System.out.println("爸爸--靜態塊");
       }

       Stb1() {
           System.out.println("爸爸--建構函式");
       }
    }

    /**
     * 我自己
     */
    static class Stb2 extends Stb1 {
        static {
            System.out.println("我自己--靜態塊");
        }
         Stb2() {
             System.out.println("我自己--建構函式");
         }
    }

    public static void main(String[] args) {
        Stb2 stb2 = new Stb2();
    }
}

執行結果: