Java是一種面向?qū)ο蟮木幊陶Z(yǔ)言,其中最基本的概念就是繼承。通過(guò)繼承,我們可以定義一個(gè)類,它具有基于另一個(gè)類的屬性和方法,這個(gè)被繼承的類被稱為父類或超類,繼承這個(gè)類的新類被稱為子類或派生類。在Java中,使用關(guān)鍵字 "extends" 來(lái)實(shí)現(xiàn)類的繼承。
public class Animal { private int age; private String name; public Animal(int age, String name) { this.age = age; this.name = name; } public void eat() { System.out.println(name + " is eating."); } public void sleep() { System.out.println(name + " is sleeping."); } } public class Dog extends Animal { private String breed; public Dog(int age, String name, String breed) { super(age, name); this.breed = breed; } public void bark() { System.out.println(name + " is barking."); } } public class Main { public static void main(String[] args) { Dog myDog = new Dog(3, "Sammy", "Golden Retriever"); myDog.eat(); myDog.sleep(); myDog.bark(); } }
在上面的例子中,類 Dog 繼承了父類 Animal 中的屬性和方法,并添加了一個(gè)新的屬性 breed 和方法 bark。在構(gòu)造函數(shù)中,使用 "super" 關(guān)鍵字來(lái)調(diào)用父類的構(gòu)造函數(shù),并將它們的屬性 age 和 name 傳遞給父類。在主函數(shù)中,我們創(chuàng)建了一個(gè) Dog 類型的對(duì)象 myDog,并可以調(diào)用繼承來(lái)的方法 eat() 和 sleep(),以及子類特有的方法 bark()。
繼承可以幫助我們避免重復(fù)編寫(xiě)代碼,并提高代碼的可維護(hù)性和可擴(kuò)展性。但需要注意的是,過(guò)度使用繼承可能會(huì)導(dǎo)致代碼的可讀性變差,甚至出現(xiàn)類的層次結(jié)構(gòu)過(guò)于復(fù)雜的情況。因此,在設(shè)計(jì)類的時(shí)候,需要謹(jǐn)慎使用繼承。