多型有兩種形式,第一是向上轉型,第二是向下轉型。
向上轉型即,用父類的引用指向子類的物件,子類重寫了父類或者介面的方法。這樣別的方法使用不同子類物件時,不用對每個子類都寫乙個方法。只需要把父類做引數,具體使用的時候需要哪種子類型別,就傳入對應的子類型別。
向下轉型即是,用子類的引用指向父類物件。目的是試圖使用子類特有的方法。用強制轉換型別,把父類型別的物件強制轉換成子類型別的物件,此時這個曾經的父類物件就變成了子類物件,這樣用子類型別的引用就可以實現對子類特有方法的呼叫。
下面上**幫助理解:
class test
// 用子類做引數,要寫很多,有多少種寫多少種,很麻煩
/* public void setprinter(colorprinter p)
public void setprinter(blackprinter p)
*/ public static void main(string args) }}
inte***ce printer
class colorprinter implements printer
public void print2()
}class blackprinter implements printer
}
多型的初步理解
多型 父類的引用型別變數指向了子類的物件 或者是介面的引用型別變數指向了介面實現類物件。多型的前提 必須存在繼承或者實現關係。多型要注意的細節 1.多型情況下,子父類存在同名的成員變數時,預設是訪問父類的成員變數。2.多型情況下,子父類存在同名的非靜態成員函式時,預設是訪問子類的成員函式。3.多型情...
多型的初步認識
1 抽象類與介面的區別 1 相同點 都是不斷向上抽取而來的 2 不同點 抽象類要被繼承,只有單繼承 介面需要被實現,支援多實現。抽象類的成員變數可以是各種形態的,介面的成員變數只能是 public static final 2 多型的概念 乙個物件對應著多種形態 在 中的概念 父類或者介面的引用指向...
Java多型初步
多型 1.多型就是具有表現多種形態的能力和特徵,更專業的說法,同乙個實現介面,使用不同的例項而執行不同的操作。2.子類到父類的轉換 向上轉型 規則 將乙個父類的引用指向乙個子類物件,稱為向上轉型,自動進行型別轉換。此時通過父類引用變數呼叫的方法是子類覆蓋或繼承父類的方法,不是父類的方法。此時通過父類...