java(二十)多態

OCP原則:開閉原則:對擴展開放,對修改閉合。java

java三大特性之一spa

引用類型有編譯時類型和運行時類型。編譯時類型是聲明時的類型,運行時類型是實際賦給對象的值的時候的類型。當編譯類型和運行類型不一致時,就會引起多態。子類在繼承父類時,一段代碼可能有不一樣的實現。
對象

向上轉型:java中容許把一個子對象直接賦值給父類引用類型,而不發生任何類型轉換,由系統自動轉換。繼承

當運行時調用該對象方法時,老是顯示出子類對象的特性而不是父類對象的特性(能夠理解爲調用子類的方法,前提是在父類中定義了相同的方法)。使用多態時,不能調用在父類中沒有聲明的子類的方法。
編譯

對象的實例變量不具有多態性,調用時會調用父類的實例變量而不是子類的(當子類中有同名變量時)。變量



多態:一份代碼、多種形態,以一當十,以一當百..擴展

多態:實例方法的動態綁定,根據運行時傳入對象的不一樣,調用不一樣對象的不一樣方法.引用

好處:需求變了,不用改代碼(也不用加代碼).方法

重載:靜態聯編(靜態綁定、前期綁定) 編譯時決定了到底調用哪一份代碼類型轉換

綁定:調用哪一個方法  和具體調用哪一個方法體的代碼 聯繫起來 ,叫綁定

多態:動態聯編(動態綁定、後期綁定) 運行時決定到底調用哪一塊代碼

相關文章
相關標籤/搜索