上轉型物件

2021-07-05 06:35:10 字數 521 閱讀 8293

如果b類是a類的子類或間接子類,當用b類建立物件b並將這個物件b的引用賦給a類物件a時,如:

a a;

a = new b();

ora a;

b b = new b();

a = b;

則稱a類物件a是子類b物件b的上轉型物件。

物件b的上轉型a的實體是有子類b建立的,但是上轉型物件會失去子類b的一些屬性和功能。上轉型物件具有以下特點:

上轉型物件不能操作子類新增加的成員變數,不能使用子類新增的方法。即為較子類b失去一些屬性和功能,這些屬性和功能是新增的。

上轉型物件可以操作子類繼承或隱藏的成員變數,也可以使用子類繼承的或重寫的方法。即為上轉型物件可以操縱父類原有的屬性和功能,無論這些方法是否被重寫。

上轉型物件呼叫方法時,就是呼叫子類繼承和重寫過的方法。而不會是新增的方法,也不是父類原有的方法。

可以將物件的上轉型物件再強制轉換到乙個子類物件,強制轉換過的物件具有子類所有屬性和功能。

物件的上轉型物件

假設animal類是tiger類的父類,當用子類建立乙個物件,並把這個物件的引用放到父類的物件中時,比如 animal a a new tiger 或 animal a tiger b new tiger a b 這時,稱物件a是物件b的上轉型物件 好比說 老虎是動物 物件的上轉型物件的實體是子類負...

物件變數多型性 上轉型物件和下轉型物件

上轉型物件 上轉型物件只能訪問父類中宣告的成員變數和成員方法,不可以訪問子類新增的特有的成員變數和成員方法。如果子類重寫了父類的方法,則上轉型物件呼叫該方法時,必定是呼叫重寫的方法。如果子類重新定義了父類的同名變數,則上轉型物件應用該變數時是父類中的定義的變數,而不是子類中定義的變數。下轉型物件 將...

Java 上轉型物件的說明

父類宣告,子類例項化的物件就是上轉型物件 例如 public class text class father class son extends father上轉型物件的使用規則 1 上轉型物件不能呼叫子類新增的成員變數和方法,失去了這部分的屬性和功能 2 上轉型物件可以操作子類繼承的成員變數 包括...