動態(tài)綁定和靜態(tài)綁定
Java中綁定有兩種形式靜態(tài)綁定static-binding(早綁定early-binding)和動態(tài)綁定dynamic-binding(晚綁定late-binding,或運行時綁定runtime-binding)
靜態(tài)綁定是在編譯時綁定,而動態(tài)綁定是在運行時根據(jù)對象的實際情況來選擇綁定父類或者是某個子類的方法。在執(zhí)行效率上,靜態(tài)綁定要優(yōu)于動態(tài)綁定,但喪失了靈活性。
Java中變量是動態(tài)綁定的,實例方法是動態(tài)綁定的。在進行“向上轉(zhuǎn)型”的時候子類會覆蓋父類的實例方法而不會覆蓋父類的變量。
靜態(tài)綁定是在編譯時綁定,而動態(tài)綁定是在運行時根據(jù)對象的實際情況來選擇綁定父類或者是某個子類的方法。在執(zhí)行效率上,靜態(tài)綁定要優(yōu)于動態(tài)綁定,但喪失了靈活性。
Java中變量是動態(tài)綁定的,實例方法是動態(tài)綁定的。在進行“向上轉(zhuǎn)型”的時候子類會覆蓋父類的實例方法而不會覆蓋父類的變量。
posted on 2007-07-07 14:57 itkui 閱讀(2202) 評論(2) 編輯 收藏 所屬分類: Java