java介面 繼承 多型

2021-09-17 07:21:46 字數 1141 閱讀 6713

在建構函式中,如果第一行沒有寫super(),編譯器會自動插入;需要注意的是子類不是一定要初始化父類,但當父類沒有無引數的建構函式時或者無引數建構函式為private時,需要手動呼叫有引數的建構函式;

在obect類中主要包括equals、tostring、clone、finalize方法

常用的方法:

getclass()

.getname()

// 獲取當前執行的類的方法,可以tostring方法一起使用

tostring()

// 當列印新建的物件時,會自動呼叫類的tostring方法,列印tostring的返回值

equals()

// 比較兩個物件的記憶體位址,如果知識單純想比對兩個變數的值,重寫equals方法

parent p = new childrn();

children c = (children)(new parent());

myinstance instanceof myobject

判斷物件是否是乙個類的例項,可以用此方法先判斷,然後強轉

// 這裡不定長引數a就是乙個陣列,相當於int a

public

void

test

(int..

. a)

}

抽象類abstract幾個點:

1.只要抽象類中存在抽象方法,那麼這個類必須是抽象類

2.子類繼承抽象類,必須重寫所有的抽象方法

3.抽象類的弊端:必須要這些功能的子類也必須重寫抽象方法;抽象類不能多繼承

介面inte***ce:由於抽象類的種種弊端,出現了介面,介面是抽象類的延伸,可以看作是純粹的抽象類

1.在介面中定義的方法必須是public或者abstract

2.在介面中定義的任意欄位均是static和final的

3.介面可以像類一樣被public裝飾,前提是介面名稱與其檔名同名

4.將抽象類和介面聯合使用,繼承抽象類並且可以多繼承介面

Java介面 繼承 多型

介面是為了解決多繼承問題 修飾符 inte ce 介面名 extends 父介面名列表 注意 修飾符可預設,父介面名列表可省略,但是一旦寫了extends就不能省略 與類相同介面檔名與介面相同 介面可以繼承 介面名稱前面有大寫l 實現介面 修飾符 class 類名 extends 父類名 imple...

Java核心 介面 繼承和多型 多型

利用多型可以使程式具有良好的擴充套件性,並可以對所有類物件進行通用的處理。eg 定義乙個平行四邊形的類 parallelogram 在類中頂乙個 draw 方法。public class parallelogram 如果需要頂乙個繪製正方形的方法,通過定義乙個正方形類來處理正方形物件,會出現 冗餘的...

繼承 多型 介面

多型 編譯階段 編譯期間編譯器可以根據選擇引數的型別來選擇使用哪個方法,是因為方法已經通過方法的過載 在同乙個類 裡提前寫好。程式在編譯時,會在編譯型別中檢查是否具有所呼叫的方法。如果編寫 時,使用引用變數呼叫子類中的特有方法,或者呼叫過載了父類中的方法,而父類中找不到該方法,則會報編譯錯誤 執行階...