Java abstract 關鍵字
示例
abstract
方法屬於一個 abstract
類,它沒有方法體。方法體由子類提供。
// Code from filename: Main.java
// abstract class
abstract class Main {
public String fname = "John";
public int age = 24;
public abstract void study(); // abstract method
}
// Subclass (inherit from Main)
class Student extends Main {
public int graduationYear = 2018;
public void study() { // the body of the abstract method is provided here
System.out.println("Studying all day long");
}
}
// End code from filename: Main.java
// Code from filename: Second.java
class Second {
public static void main(String[] args) {
// create an object of the Student class (which inherits attributes and methods from Main)
Student myObj = new Student();
System.out.println("Name: " + myObj.fname);
System.out.println("Age: " + myObj.age);
System.out.println("Graduation Year: " + myObj.graduationYear);
myObj.study(); // call abstract method
}
}
定義和用法
abstract
關鍵字是一個非訪問修飾符,用於類和方法。
類: 抽象類是受限制的類,不能用於建立物件(要訪問它,必須從另一個類繼承)。
方法: 抽象方法只能在抽象類中使用,並且沒有方法體。方法體由子類(繼承自)提供。
相關頁面
在我們的 Java 修飾符教程 中瞭解更多關於修飾符的資訊。