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
}
}
定义和用法
The abstract
关键字是一个非访问修饰符,用于类和方法。
类: 抽象类是一个受限的类,不能用于创建对象(要访问它,它必须从另一个类继承)。
方法: 抽象方法只能在抽象类中使用,并且没有主体。主体由子类(从继承的)提供。
相关页面
在我们的 Java 修饰符教程 中了解更多关于修饰符的信息。