方法過載有助於建立多個同名方法,以便對不同型別的引數執行類似的操作。如果變數型別相似,我們可以使用型別提升。型別提升會自動將較低範圍的值提升為較高範圍的值。例如,byte 變數可以賦值給 int 變數。此處 byte 變數將被提升為 int 型別。如果我們想新增兩個可以是 byte、short 或 int 的數字,我們可以使用單個方法。請參見下面的示例:示例 線上演示public class Tester { public static void main(String args[]) ... 閱讀更多
IS-A 關係IS-A 的意思是:此物件是一種那樣的物件。讓我們看看如何使用 extends 關鍵字來實現繼承。 public class Animal { } public class Mammal extends Animal { } public class Reptile extends Animal { } public class Dog extends Mammal { }現在,如果我們考慮 IS-A 關係,我們可以說:Mammal IS-A AnimalReptile IS-A AnimalDog IS-A Mammal因此:Dog IS-A Animal同樣使用 extends 關鍵字,子類將能夠繼承超類的所有屬性,除了超類的私有屬性之外…… 閱讀更多
這些關係主要基於用法。這決定了某個類是否具有某個東西。這種關係有助於減少程式碼重複和錯誤。讓我們來看一個示例:示例public class Vehicle{} public class Speed{} public class Van extends Vehicle { private Speed sp; }這表明 Van 類具有 Speed。透過為 Speed 建立一個單獨的類,我們不必將屬於 Speed 的所有程式碼都放入 Van 類中,這使得可以在多個應用程式中重用 Speed 類。在面向物件的特性中,使用者不需要…… 閱讀更多
在 Java 中,一個類不能擴充套件多個類。因此,以下是無效的:示例public class extends Animal, Mammal{}但是,一個類可以實現一個或多個介面,這幫助 Java 擺脫了多重繼承的不可能。其背後的原因是為了防止歧義。考慮一種情況,其中類 B 擴充套件類 A 和類 C,並且類 A 和 C 都有相同的方法 display()。現在 Java 編譯器無法決定應該繼承哪個 display 方法。為了防止這種情況,Java 中不允許多重繼承。