Java隨記(二)上轉型物件

2021-08-09 04:29:52 字數 508 閱讀 6906

假設a類是b類的父類,當用子類建立乙個物件,並把這個物件的引用放到父類的物件中,例如:

a  a;

a=new b();

或a  a;

b b=new b();

a=b;

這時,稱物件a是物件b的上轉型物件。物件的上轉型物件的實體是子類負責建立的,但上轉型物件會失去原物件的一些屬性和功能。

(1)上轉型物件不能操作子類新增的成員變數(失去了這部分屬性),不能呼叫子類新增的方法(失掉了這一部分的行為)。

(2)上轉型物件可以訪問子類繼承或隱藏的成員變數,也可以呼叫子類繼承的方法或子類重寫的例項方法。上轉型物件操作子類繼承的方法或子類重寫的例項方法,起作用等價於子類去呼叫這些方法。因此,如果子類重寫了父類的某個例項方法後,當物件的上轉型物件呼叫這個例項方法時一定是呼叫了子類重寫的例項方法。

(3)如果子類重寫了父類的靜態方法,那麼子類物件的上轉型物件不能呼叫子類重寫的靜態方法,只能呼叫父類的靜態方法。

Java 上轉型物件的說明

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

上轉型物件

如果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的一些屬性和功能。上轉型物件具有以下...

Java物件轉型

物件轉型 1 乙個基類的引用型別變數可以 指向 其子類的物件。2 乙個基類的引用不可以訪問其子類物件新增加的成員 屬性和方法 3 可以使用 引用變數 instanceof 類名 來判斷該引用型變數所 指向 的物件是否屬於該類或該類的子類。4 子類的物件可以當做基類的物件來使用稱作向上轉型 upcas...