Java是一種面向?qū)ο蟮木幊陶Z言,其中的類和子類關(guān)系是面向?qū)ο缶幊痰暮诵模ɑ惡妥宇愔g的變量。
通過擴(kuò)展一個類,可以創(chuàng)建一個子類,這個子類繼承了基類的方法和屬性。基類是一個通用類,包括一些公共的屬性和行為,而子類是特定的類,這些類繼承了基類的公共屬性和行為,并通過添加新的屬性和方法來擴(kuò)展自己。
public class Animal { public int age; public String name; public void eat() { System.out.println("I am eating"); } } public class Dog extends Animal { public String breed; public boolean hasCollar; public void bark() { System.out.println("I am barking"); } }
在上面的例子中,Animal類是一個基類,它包含了一個名為“age”的變量。Dog類是Animal類的子類,它擴(kuò)展了基類,添加了一個名為“breed”的變量。
當(dāng)在子類中聲明了一個和基類相同的變量時,子類的變量會覆蓋基類的變量。但是,在基類和子類中都可以使用“super”關(guān)鍵字來引用基類的變量。
public class Dog extends Animal { public int age; public String breed; public boolean hasCollar; public void bark() { System.out.println("I am barking"); System.out.println("My age is " + age); System.out.println("My parent class's age is " + super.age); } }
在上面的例子中,Dog類覆蓋了基類中的“age”變量。但是在“bark()”方法中,我們使用了“super”來訪問基類的“age”變量。這確保了子類可以訪問基類的變量,即使它們在子類中被覆蓋。
在Java中,繼承是一種非常強大的特性。通過擴(kuò)展現(xiàn)有的類,可以創(chuàng)建更多的特定類,這些類具有更多的屬性和行為,并且可以覆蓋基類的行為。在處理基類和子類的相同變量時,使用“super”關(guān)鍵字可以訪問基類的變量,而不需要更改基類。