三行程式碼看懂Java構造方法鏈
阿新 • • 發佈:2018-12-12
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(); } }