Java中的abstract關鍵字用于定義抽象類和抽象方法。
例子:
abstract class Animal {
// 抽象方法
public abstract void sound();
// 非抽象方法
public void sleep() {
System.out.println("Animal is sleeping");
}
}
抽象類中可以包含抽象方法和非抽象方法。抽象方法沒有具體的實現,只有方法的聲明,而非抽象方法有具體的實現。子類繼承抽象類時,必須實現所有的抽象方法。
例子:
abstract class Animal {
// 抽象方法
public abstract void sound();
}
子類繼承抽象類時,必須實現父類中的抽象方法,否則子類也必須聲明為抽象類。
抽象類不能被實例化,只能被繼承。
抽象類可以包含抽象方法和非抽象方法。
子類繼承抽象類時,必須實現所有的抽象方法。
如果子類沒有實現抽象類中的所有抽象方法,那么子類也必須聲明為抽象類。
抽象類可以有構造方法,但不能通過new操作符來創建抽象類的實例。
總結:抽象類和抽象方法用于定義一種具有一定抽象性質的類和方法,它們不能直接被實例化,只能被繼承和實現。抽象類和抽象方法的使用可以提高代碼的靈活性和可擴展性。