首頁  >  文章  >  Java  >  重寫:哪些特性是java語言所具備的?

重寫:哪些特性是java語言所具備的?

WBOY
WBOY轉載
2023-05-09 16:58:18631瀏覽

一.套件

Java定義了一個名字空間,稱為套件:package。一個類別總是屬於某個包,類別名稱(例如Person)只是一個簡寫,真正的完整類別名稱是 包名.類別名稱。例如:apple 類別放在套件 banana 裡面 完整類別名稱是:banana.apple。

自訂套件的語法:

package<   包名   >

注意:宣告一個套件必須寫在類別的第一行。

1.2 套件的導入

如果要使用java中存在的套件,可以在程式中使用import語句導入套件。

格式如下:(注意中間有一個小點)

import<  包名  >.<  类名  >

如果要導入一個包中的多個類,可以使用"*"表示包中所有的類。如上個範例完整程式碼為:import banana.*。

 二.繼承

繼承就是子類別繼承父類別的特徵和行為,使得子類別物件(實例)具有父類別的實例域和方法,或子類別從父類別繼承方法,使得子類別具有父類別相同的行為。

繼承的作用:透過繼承可以快速創建新的類,實現程式碼的重用,提高程式的可維護性,節省大量創建新類別的時間,提高開發效率和開發品質.

java的繼承語法格式如下:

[修饰符]  class 子类名 [extends 父类名]{
        //类定义部分
}

例如:banana是一個類,apple是一個類,將banana設為apple的父類

public class apple extends banana{
        //内容
}

注意! 1.java中的繼承為單繼承,即一個子類別只能有一個直接的父類別。

           2.子類別不能選擇性繼承父類別;

##           3.Java不支援多重繼承,但一個類別可以實現多個繼承多個接口,從而克服單一繼承的缺點;

           4.建構方法不會被類別繼承,但子類別的建構方法可以從子類別中呼叫父類別。

 三:重載與重寫

3.1重載(Overload)

同一個類別中,同名的方法有不同的參數列表(參數類型不同,參數個數不同,甚至是參數順序不同)即為重載,重載對返回類型無要求,可以相同,也可以不同,但不能通過返回類型是否相同來判斷重載.

注意以下幾點:

(1)同一類別中方法名稱相同,參數清單不同。

(2)回傳值類型不能用來區分方法的重載。

提醒:建構方法也可以實作方法的重載

3.2 重寫

重寫,也就是重新寫一遍。即在子類別中把父類別本身俱有的方法重新寫一次。子類擴展了父類,子類是一個特殊的父類。子類別以父類別為基礎,額外增加新的屬性和方法。

重寫的規則:

1.發生在之類別與父類別之間

2.父類別中的私有方法不能重寫

3.重寫父類別方法時,存取權限不能比父類別低,拋出異常不能比父類別的異常範圍廣或拋出新的異常

4.父類別有靜態方法時,子類別必須透過靜態方法進行重寫

重載與重寫的差異:

1.重載發生在一個類別裡面

2.重寫發生在父類別與子類別之間。

四:多態

多態指同一操作作用於不同對象,可以有不同的解釋,以致產生不同的執行結果。

多態體現為父類別引用變數可以指向子類別物件

前提條件:必須要有子父類別關係。

注意:在使用多態後的父類別引用變數呼叫方法時,會呼叫子類別重寫後的方法。

4.1 多型態的轉換  


多型態的轉換分為

向轉型向下轉換

##向上轉型:多態本身就是向上轉型過的過程

#使用格式:##

父类类型 变量名=new 子类类型();
適用場景:當不需要面對子類別類型時,透過提高擴展性,或使用父類別的功能就能完成對應的操作。

向下轉型:一個已經向轉型的子類別物件可以使用強制型別轉換的格式,將父類別參考型別轉為子類別參考各型別


4.2 instanceof

instanceof運算子的前一個運算元通常是一個引用型別變量,後一個運算元通常是一個類,它用來判斷運算子前面的參考變數是否是運算子後面的型別或其子類型的實例。

注意!使用instanceof運算子時,需要注意instancecof運算子前面運算元的編譯時,型別要嘛與後面的類別相同,要嘛與後面的類別有父子繼承關係,否則會造成編譯失誤。

以上是重寫:哪些特性是java語言所具備的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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