一、多型理解
1、判斷是否是同乙個函式,通過唯一性標識(方法名+引數(順序、數量、型別一致))
2、過載:引數 與 父類 不同
重寫(覆蓋):方法名+引數 與 父類 相同
3、多型分為編譯時多型(過載)和執行時多型(重寫、覆蓋)。因為過載是不同的方法,編譯器能編譯的時候就確定是否呼叫該方法;而對於重寫,只有在建立出由父類引用指向子類例項時候,才會知道呼叫的是哪個方法。
4、多型只是針對方法的多型,屬性沒有多型。
5、方法中被private、final、static修飾的方法會被關閉多型。
6、執行時多型的必要條件就是存在繼承關係與向上轉型
二、泛型理解
1、引入泛型主要作用就是為了安全,在編譯時就發現型別轉換時的錯誤,增加編譯時型別檢查,從而不把錯誤帶到執行階段;其次,可以實現**的復用
2、泛型通過編譯器型別擦除實現
3、泛型指定的類不具有繼承關係
4、泛型典型例子:collection中的iterator
三、多型與泛型關係
定義的層面不一樣:多型是基於繼承關係,根據傳入引數或者執行時的關係確定行為;而泛型是使用這個泛型類的時候再去確定這個類裡面的成員具體是什麼型別
java 之多型與泛型
一 多型 多型的概念 按字面意思來理解就是多種狀態,也就是說同乙個物件在不同的地方表現出不同的狀態。比如介面的多種不同的實現方式即為多型。多型性是允許將父物件設定成為乙個或更多的他的 子物件相等的技術,賦值之後,父物件就可以根據當前賦值給它的子物件的特性以不同的方式運作。簡單的說,就是一句話 允許將...
Java多型遇到泛型型別
1.陣列引數的多型化 1 例項1 class animal class dog extends animal class cat extends animal class helloworld takinganimals animals public static void takinganimal...
java集合與泛型
1.泛型 表示集合中 儲存資料的型別 建立乙個集合 儲存 a b c d 字串 後面的尖括號 要跟前面填的泛型 保持一致 如果前面宣告了泛型 後面泛型可以省略不寫 省略不寫 表示型別一致 arraylist string list new arraylist list add a list add ...