Java中的面向對象編程是建立在繼承的基礎上的,繼承是一種讓子類繼承父類的方法。父類和子類之間的關系就像家族一樣,父親的基因和特點可以傳承給兒子和孫子,但是子孫后代也可以發展出自己的獨特特點。
class Animal { // 定義一個動物類 public void eat() { System.out.println("動物可以吃東西"); } } class Dog extends Animal { // 定義一個狗類繼承自動物類 public void shout() { System.out.println("狗可以叫"); } } public class Test { public static void main(String args[]) { Dog dog = new Dog(); // 創建一個狗的實例 dog.eat(); // 調用從動物類繼承下來的方法 dog.shout(); // 調用自己定義的方法 } }
在這個例子中,我們可以看到Dog類通過extends關鍵字繼承自Animal類,也就是說Dog類擁有了Animal類中的所有方法和屬性。在主方法中創建Dog類的實例,并調用eat()方法和自己定義的shout()方法。
需要注意的是,子類可以覆蓋掉父類的方法,也就是說子類可以擁有自己的方法,與父類的同名方法并不會被調用。這種行為叫做方法重寫。
class Animal { // 定義一個動物類 public void eat() { System.out.println("動物可以吃東西"); } } class Dog extends Animal { // 定義一個狗類繼承自動物類 public void eat() { // 子類重寫eat()方法 System.out.println("狗咬骨頭"); } public void shout() { System.out.println("狗可以叫"); } } public class Test { public static void main(String args[]) { Dog dog = new Dog(); // 創建一個狗的實例 dog.eat(); // 調用自己定義的方法 dog.shout(); // 調用自己定義的方法 } }
在這個例子中,我們重寫了Animal類中的eat()方法,并在子類中定義了自己的eat()方法。在主方法中創建Dog類的實例,并調用自己定義的eat()方法和shout()方法。
總之,Java中的繼承為代碼重用提供了一種簡單而有效的途徑。使用繼承可以節省代碼的編寫時間,提高代碼的可讀性和可維護性。