在Java中,抽象類(Abstract Class)是一種不能被實例化的類,它可以包含抽象方法和非抽象方法。通過繼承抽象類,子類可以實現抽象方法,從而復用父類的代碼。以下是如何使用抽象類實現代碼復用的示例:
Animal
,包含一個抽象方法makeSound()
和一個非抽象方法getName()
:public abstract class Animal {
// 抽象方法,子類必須實現
public abstract void makeSound();
// 非抽象方法,子類可以直接使用
public String getName() {
return "Unknown";
}
}
Dog
和Cat
,分別繼承Animal
類,并實現makeSound()
方法:public class Dog extends Animal {
// 實現父類的抽象方法
@Override
public void makeSound() {
System.out.println("Woof!");
}
}
public class Cat extends Animal {
// 實現父類的抽象方法
@Override
public void makeSound() {
System.out.println("Meow!");
}
}
Dog
和Cat
對象,并調用它們的makeSound()
方法:public class Main {
public static void main(String[] args) {
Animal myDog = new Dog();
Animal myCat = new Cat();
myDog.makeSound(); // 輸出 "Woof!"
myCat.makeSound(); // 輸出 "Meow!"
}
}
通過這種方式,我們可以看到抽象類Animal
實現了代碼復用,子類Dog
和Cat
可以直接使用父類的非抽象方法getName()
,同時需要實現抽象方法makeSound()
。這樣,當我們需要添加更多具有相似功能的動物類時,只需繼承Animal
抽象類并實現相應的抽象方法即可。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。