首頁 >Java >java教程 >java如何實作物件導向編程

java如何實作物件導向編程

王林
王林轉載
2023-04-29 19:10:051439瀏覽

1:允許將子類別的參考付給父類別的對象,但子類別中的那些不是從父類別繼承來的成員將不再可見。

範例:

Bus bus=new Bus();  Car car=bus;

但是car實例不可以引用bus中的非繼承域,如p​​載人數。

2:this和super

this引用目前類別的變數或方法,super引用目前物件的直接父類別的變數或方法

3:多態

同一個名字可以有多種實作狀態,同一個類別內部,可以擁有同名的,參數列表不同的方法,子類別也可以有同父類同名的變數和方法。

1)覆寫(override),當子類別繼承了父類別的同名無參函數時,子類別新寫的方法會覆寫父類別的方法,(傳回類型必須相同)

2)重載(overload)繼承了父類別的同名有參函數,並且方法參數不同時稱為重載,使該方法具有自己的特性。

3)重寫(overwrite)目前類別的同名方法,同一個類別中可以有多個具有相同名字的方法,由傳遞給他們的不同個數和類型的參數來決定使用哪一個方法。

覆寫和重載針對父類,重寫針對子類別。

4:抽象類別定義

抽象類別可以有自己的資料成員,也可以又非abstract的成員方法,也可以有抽象方法,抽象方法只有函數定義部分,沒有函數體。

子類別繼承抽象類別時必須實作所有的abstract方法。

5:介面

java只支援單一繼承,為了實現多重繼承,設計了介面。一個類別只可以有一個直接父類,但是可以實作多個介面。

介面中的方法可以有參數清單和傳回類型,但是沒有任何方法體。

介面中可以包含字段,但是會被隱士地宣告為static和final

介面中的字段只能儲存在該介面的靜態儲存區域內,而不屬於該接口。

介面中的方法為public

擴充一個介面來產生新的介面使用關鍵字extends,實作一個介面使用implements.

java介面的方法只能是抽象的和公開的,java介面比java抽象類別更抽象。

6:介面與抽象類別的差異

1)抽象類別可以提供實作方法,介面不能提供。如果在抽象類別中新增一個方法,則它的所有子類別一下子就得到了這個方法,但是接口,所有實作這個介面的類別必須都再實作這個方法才行。

2)抽象類別只能繼承一個,而可以實作多個介面。

「預設適配模式」:java介面在最上面,然後緊跟著抽象類別。

3)介面可以被嵌套,既可以被某個類別嵌套,也可以被介面嵌套。

7:靜態類別

即定義了靜態方法、靜態變數、靜態程式碼區塊的類別。靜態類別不能被實例化,累的成員都是靜態的。意味著告訴編譯器,這個方法不需要建立一個此類的物件即可使用。費靜態類別一般需要實例話後才能操作。靜態類別在運行時載入到記憶體中,所以不用初始化,也沒有實例,因此在類別的內部也不能用this。

以上是java如何實作物件導向編程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除