1.乙個基類的引用型別可以指向其子類的物件
2.乙個基類的引用指向子類的物件時不可以訪問其子類物件新增加的成員(屬性和方法)
3.可以引用 變數 instanceof 類名 來判斷該引用變數所指向的物件是否屬於該類或該類的子類
4.子類物件可以當做基類物件來使用,稱為向上轉型(upcasting),反之,稱為向下轉型(downcasting)
class animal
}class cat extends animal
}class dog extends animal
}public class testanimal
}
為什麼注釋掉的那一行會報錯呢?我們分析一下:這是父類物件引用子類物件a是乙個animal型別,它指向了乙個dog物件,但是在程式的執行中,會把它這只dog當成乙隻普通的animal來看,所以furcolor就訪問不了了,所以這句會報錯。(橙色的線是它實際能訪問的範圍)
如果想訪問它的furcolor,就要加強制轉換符。
f()方法的可擴充套件性比較好。但是並沒有達到最好。
Java物件轉型
物件轉型 1 乙個基類的引用型別變數可以 指向 其子類的物件。2 乙個基類的引用不可以訪問其子類物件新增加的成員 屬性和方法 3 可以使用 引用變數 instanceof 類名 來判斷該引用型變數所 指向 的物件是否屬於該類或該類的子類。4 子類的物件可以當做基類的物件來使用稱作向上轉型 upcas...
java之上轉型物件
1.上轉型物件 上轉型物件是將子類的物件賦值給父類的引用,形如 superclass sup subclass 上轉型物件不能使用子類新增成員 包括成員變數,成員方法 只能使用子類重寫父類的方法,被子類隱藏的父類變數 子類未重寫的父類方法,未被隱藏的父類成員變數.示例運用 多型的運用 假如你在乙個物...
java 物件的轉型
為什麼要寫這篇部落格 物件的轉型是物件導向多型性的體現,必須深刻理解。向上轉型 父類引用指向子類物件 person p new student 向下轉型 將 指向子類物件的父類引用 強制轉換為子類引用 person p new student student s student p 乙個引用能夠呼叫...