java學習之繼承、多態
阿新 • • 發佈:2017-12-13
之間 對象 才有 隱患 來安 clas dem void 定義
java面向對象的三大法寶:封裝、繼承、多態(抽象)
繼承:
1.提高了代碼的復用率
2.讓類與類之間產生了關系,有了這個關系,才有了多態的特性
註意:不要為了獲取其它類的功能、簡化代碼而繼承,
必須是類與類之間有所屬關系才可以繼承。所屬關系是 is a
class C{ void demo1(){} } class A extends C{ //void demo1(){} void demo2(){} } class B extends C{ //void demo1(){} void demo3(){} } /* 不能讓class B extends A(){},因為A中的demo2在B中不一定是屬於關系 而因該繼承A與B共性內容,即類C,*/
在java語言中:java只支持單繼承,不支持多繼承,可以用接口來實現多繼承
因為多繼承容易帶來安全隱患:當多個父類中定義了相同功能,當功能內容不同時,子類對象不確定要運行哪一個。
但是java保留這種機制,並用另一種體現形式來完成表示,多實現---java支持多層繼承。也就是一個繼續體系。
如何使用一個繼承體系中的功能呢?
想要使用體系,先查閱體系父類的描述,因為父類中定義的是該體系中共性功能。通過了解共性功能,就可以知道該體系的基本功能。那麽這個體系已經可以基本使用了。
那麽在具體調用時,要創建最子類的對象?為什麽?
一是因為有可能父類不能創建對象,
二是創建子類對象可以使用更多的功能,包括基本的也包括特有的
簡單總結:查閱父類功能,創建子類對象使用功能
java學習之繼承、多態