基類的構造器總是在匯出類的構造過程中被呼叫,而且
按照繼承層次逐漸向上鏈結,以使每個基類的構造器都能得到呼叫.
這樣做是有意義的,因為構造器有一項特殊的任務:檢查物件是否被正確的構造.匯出類只能訪問它自己的成員,不能訪問基類的成員(基類成員通常是private型別的).只有基類的構造器才具有恰當的知識和許可權對自己的元素進行初始化.因此必須要令所有構造器都得到呼叫,否則所有的物件就不能保證被正確構造.這就是為什麼要強制每個匯出類部分都必須呼叫構造器的原因.
以乙個例子說明複雜物件呼叫構造器要遵照的順序:
1.呼叫基類構造器.
這個步驟會不斷反覆遞迴下去,首先是構造這種層次結構的根,然後是下一層匯出類,等等.知道對底層的匯出類.
2.按照宣告順序呼叫成員的初始化狀態設定模組.
3.呼叫匯出類構造器的主體.
import com.bruceeckel.******teset.*;
class meal
}class bread
}class cheese
}class lettuce
}class lunch extends meal
}class portablelunch extends lunch
}public class sandwich extends portablelunch
pbulic static void main(string args));}
}
構造器呼叫順序
構造器呼叫順序 1 基類建構函式 2 申明順序的成員初始化方法 3 匯出類構造器。class bread class sandwich class cheese class supermeal extends bread class meal extends supermeal public sta...
Java 構造方法呼叫順序
public class testsuper02 class fatherclass class childclass extends fatherclass 執行結果 開始建立乙個childclass物件 建立fatherclass 建立childclass 要點 關於構造方法結合繼承概念的呼叫,...
java建構函式的呼叫順序
構造子的作用就是初始化乙個物件時 初始化狀態的 每次new乙個物件就必須把物件確定乙個標準的狀態 1 如果這個類只是乙個簡單的類 隻身乙個人,沒有什麼家庭背景,一人吃飽一家不餓的那種 new 乙個物件就呼叫自己就搞定了 娶媳婦,生兒子就自己搞定了 2 如果這個類 小劉 是乙個大家族,他爹 老劉就在身...