天天看點

j2se之對象的上轉型對象

上轉型對象是将子類的對象指派給父類的引用,形如:

SuperClass sup = new SubClass();

屬性,私有方法、靜态方法、final方法都是靜态綁定的,即編譯期确定的。

其他方法是動态綁定的,即虛拟機運作時确定。

後者才可能出現override的情況。

1 上轉型對象不能操作子類新增的成員變量(失掉了這部分屬性),不能使用子類新增的方法(失掉了一些功能)。      
2 上轉型對象可以操作子類繼承或重寫的成員變量,也可以使用子類繼承的或重寫的方法。
3 如果子類重寫了父類的某個方法後,當對象的上轉型對象調用這個方法時一定是調用了這個重寫的方法,因為程式在運作時知道,這個上轉型對象的實體是子類建立的,隻不過損失了一些功能而已。
如圖示:      
j2se之對象的上轉型對象

繼續閱讀