Java 教程(將介面用作型別)

2021-09-12 23:20:56 字數 765 閱讀 7276

定義新介面時,你將定義新的引用資料型別,你可以在任何可以使用任何其他資料型別名稱的地方使用介面名稱,如果定義型別為介面的引用變數,則分配給它的任何物件都必須是實現介面的類的例項。

作為示例,這裡是一種用於查詢一對物件中的最大物件的方法,用於從實現relatable的類例項化的任何物件:

public object findlargest(object object1, object object2)
通過將object1轉換為relatable型別,它可以呼叫islargerthan方法。

如果你在各種類中實現relatable,那麼可以將從這些類中例項化的物件使用findlargest()方法進行比較 — 前提是兩個物件屬於同乙個類,同樣,它們都可以使用以下方法進行比較:

public object findsmallest(object object1, object object2) 

public boolean isequal(object object1, object object2)

這些方法適用於任何「relatable」物件,無論它們的類繼承是什麼,當它們實現relatable時,它們可以是它們自己的類(或超類)型別和relatable型別,這為它們提供了多重繼承的一些優點,他們可以從超類和介面獲得行為。

將「引用」作為函式返回值型別

格式 型別識別符號 函式名 形參列表及型別說明 好處 在記憶體中不產生被返回值的副本 注意 正是因為這點原因,所以返回乙個 區域性變數的引用是不可取的。因為隨著該 區域性變數生存期的結束,相應的引用也會失效,產生runtime error 注意事項 1 不能返回 區域性變數的引用。這條可以參照eff...

java 14 型別轉換與介面

一 package study public class person extends animal 強制型別轉換 package study public class testit 二 傳值與傳址 在person中定義乙個age package study public class person ...

Java中如何將int 型別轉換為 Long型別

long l long 3 很多同學可能會用上面的方法將int型別轉換為long型別,但事實上這樣是不可行的。因為long是包裝類,而int是值型別資料,兩者是不能這樣強轉的。long l long 3 int和long都是基本型別的資料,是可以強轉的,那麼我就可以以此作為橋梁,強轉成long後,再...