在Java中,abstract關鍵字用于定義抽象類和抽象方法。
抽象類是指無法實例化的類,只能被繼承。抽象類通常用于定義一些共性的特征和行為,并且可以包含抽象方法。抽象方法是沒有具體實現的方法,只有方法的聲明,具體的實現需要在子類中完成。抽象類可以包含其他非抽象的方法和屬性。
使用abstract關鍵字定義抽象類:
abstract class AbstractClass {
// 抽象方法
public abstract void abstractMethod();
// 非抽象方法
public void nonAbstractMethod() {
// 具體實現
}
}
抽象方法不需要包含具體的實現,只包含方法的聲明:
abstract void abstractMethod();
抽象類不能被實例化,只能通過繼承來使用。子類繼承抽象類時,必須實現抽象類中的所有抽象方法,或者將子類也定義為抽象類。
使用抽象類和抽象方法的例子:
abstract class Animal {
abstract void sound();
}
class Cat extends Animal {
void sound() {
System.out.println("Meow");
}
}
class Dog extends Animal {
void sound() {
System.out.println("Woof");
}
}
public class Main {
public static void main(String[] args) {
Animal cat = new Cat();
Animal dog = new Dog();
cat.sound(); // 輸出 "Meow"
dog.sound(); // 輸出 "Woof"
}
}