首頁  >  文章  >  Java  >  一篇文章帶你詳細理解java中類別的繼承與多態

一篇文章帶你詳細理解java中類別的繼承與多態

王林
王林轉載
2019-11-26 10:56:502137瀏覽

一篇文章帶你詳細理解java中類別的繼承與多態

類別的繼承

#子類別及其定義

#子類別的定義使用關鍵字extends

格式:

class SubClass extends SuperClass{
........
}

子類別可以繼承父類別的屬性和方法;子類別不能繼承帶有private修飾符的屬性,方法;子類別不能繼承建構方法

更多相關影片教學推薦:java線上學習

單繼承:

#Java只支援單繼承,也就是只能從一個類別繼承,extends關鍵字後面的類別名稱只能一個。

優點:可以避免多個父類別之間可能發生的衝突。

interface介面機制,允許一個類別實作多個介面

super關鍵字

super關鍵字指向該關鍵字所在類別的父類,父類別參考變數可以指向子類別物件

格式:

super.someNethod([paramlist])//调用父类中的someMethod()方法

子類別物件的建立

步驟:

分配物件所需的全部記憶體空間,並初始化為0值

按繼承關係,自頂向下明確初始化

按繼承關係,自頂向下呼叫構造方法

子類別物件初始化的另一種表述:

#基本上初始化,執行建構方法,先執行父類別建構方法,執行父類別構造方法之前,要執行父類別明確初始化語句。

方法的重寫

(1)子類別中重寫方法的回傳值類型必須與父類別中被重寫方法的傳回值類型相同

(2)子類別中重寫方法的存取權限不能縮小

(3)子類別重寫不能拋出新的例外:方法的重寫是實現物件執行時間多態的基礎

多態: 編譯時多型和執行時多態

# 編譯時多態:例如重載

運行時多態:例如重寫

上溯造型

將一種類型物件的參考轉換成另一種類型物件參考

向下造型(強制型別轉換)

instanceof運算子

aOblectVariable instanceof SomeClass

#aOblectVariable SomeClass類型時,該表達式的值為true,否則為false

格式 

(SomeClass)aObjectVariable

(1)物件變數轉換的目標類型,一定要是目前物件類型的子類別

(2)在運行時刻也要進行物件類型檢查

#Object類別

## java中的每個類別都是Object類別的直接或間接子類別。

equals類別:比較兩個物件的值

重寫equals()方法目的:定義物件的值

Java規定:兩個值相等的物件hashCode()回傳值要相等,所以重寫equals()方法,同時也要重寫hashCode()方法,「==」比較兩個物件的位址。           

toString()方法##########傳回物件的字串表示。 #########getClass()方法#########傳回物件的類別訊息,該方法傳回一個Class類型的物件。 ######相關文章教學推薦:###java入門程式#######

以上是一篇文章帶你詳細理解java中類別的繼承與多態的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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