Java中的面向?qū)ο缶幊淌墙⒃诶^承的基礎(chǔ)上的,繼承是一種讓子類繼承父類的方法。父類和子類之間的關(guān)系就像家族一樣,父親的基因和特點可以傳承給兒子和孫子,但是子孫后代也可以發(fā)展出自己的獨特特點。
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(); // 創(chuàng)建一個狗的實例 dog.eat(); // 調(diào)用從動物類繼承下來的方法 dog.shout(); // 調(diào)用自己定義的方法 } }
在這個例子中,我們可以看到Dog類通過extends關(guān)鍵字繼承自Animal類,也就是說Dog類擁有了Animal類中的所有方法和屬性。在主方法中創(chuàng)建Dog類的實例,并調(diào)用eat()方法和自己定義的shout()方法。
需要注意的是,子類可以覆蓋掉父類的方法,也就是說子類可以擁有自己的方法,與父類的同名方法并不會被調(diào)用。這種行為叫做方法重寫。
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(); // 創(chuàng)建一個狗的實例 dog.eat(); // 調(diào)用自己定義的方法 dog.shout(); // 調(diào)用自己定義的方法 } }
在這個例子中,我們重寫了Animal類中的eat()方法,并在子類中定義了自己的eat()方法。在主方法中創(chuàng)建Dog類的實例,并調(diào)用自己定義的eat()方法和shout()方法。
總之,Java中的繼承為代碼重用提供了一種簡單而有效的途徑。使用繼承可以節(jié)省代碼的編寫時間,提高代碼的可讀性和可維護性。