文章目錄
資料抽象是隐藏某些細節并僅向使用者顯示基本資訊的過程。抽象可以通過抽象類或 接口來實作,這個我後面會補充。
該abstract關鍵字是一個非接入改性劑,用于類和方法。
- 抽象類:是一個受限制的類,不能用于建立對象(要通路它,它必須從另一個類繼承)。
- 抽象方法:隻能在抽象類中使用,并且沒有主體。主體由子類提供(繼承自)。
抽象類可以同時具有抽象方法和正常方法:
abstract class Animal {
public abstract void animalSound();
public void sleep() {
System.out.println("Zzz");
}
}
從上面的示例中,無法建立 Animal 類的對象,如果你通路就會報錯。
舉個完整的例子:
// Abstract class
abstract class Animal {
// Abstract method (does not have a body)
public abstract void animalSound();
// Regular method
public void sleep() {
System.out.println("Zzz");
}
}
// Subclass (inherit from Animal)
class Pig extends Animal {
public void animalSound() {
// The body of animalSound() is provided here
System.out.println("The pig says: wee wee");
}
}
class Main {
public static void main(String[] args) {
Pig myPig = new Pig(); // Create a Pig object
myPig.animalSound();
myPig.sleep();
}
}
運作:
