1. 程式人生 > >java學習之繼承、多態

java學習之繼承、多態

之間 對象 才有 隱患 來安 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學習之繼承、多態