一、多型
多型指的是同乙個方法呼叫、由於物件不同可能會有不同的行為。現實生活中,同乙個方法,具體實現會完全不同。
二、多型的要點
1.多型是方法的多型,不是屬性的多型(多型與屬性無關_
2.多型的存在要有三個必要條件:繼承,方法重寫,父類引用指向子類物件。
3.父類引用指向子類物件後,用該父類引用呼叫子類重寫的方法,此時多型就出現了。
三、多型發生的示例**
public class testpolym
static void animalcry(animal a)
}class animal
}//繼承
class dog extends animal
}//繼承
class cat extends animal
}
四、物件的轉型
1.父類引用指向子類物件,我們稱這個過程為向上轉型,屬於自動型別轉換。
2.向上轉型後的父類引用變數只能呼叫它編譯型別的方法,不能呼叫它執行時型別的方法。這時,我們就需要進行型別的強制轉換,我們稱為向下轉型。
3.在向下轉型過程中,必須將引用變數轉成真實的子類型別(執行時型別)否則會出現型別轉換異常classcastexception。
物件變數多型性 上轉型物件和下轉型物件
上轉型物件 上轉型物件只能訪問父類中宣告的成員變數和成員方法,不可以訪問子類新增的特有的成員變數和成員方法。如果子類重寫了父類的方法,則上轉型物件呼叫該方法時,必定是呼叫重寫的方法。如果子類重新定義了父類的同名變數,則上轉型物件應用該變數時是父類中的定義的變數,而不是子類中定義的變數。下轉型物件 將...
Java多型性以及上下轉型
問 老虎是動物嗎?那麼動物是老虎嗎?答 老虎當然是動物,動物不一定是老虎。廢話 現在你明白了,原來是這樣 向上轉型 把乙個具體的物種的例項歸為總的動物類。即 動物 動物例項 new 具體物種 向下轉型 把乙個總的動物例項歸為乙個具體的物種。用 來說事吧 動物類 老虎類 繼承 動物類 獅子類 繼承 動...
java物件的多型性
向上轉型 父類 父類物件 子類例項 example class person class student public class movedemon 向下轉型 子類 子類物件 子類 父類例項 父類向下轉型要用強制 example class person class student public ...