Java abstract 关键字
实例
abstract
方法属于abstract
抽象类,它没有主体。主体由子类提供:
// 来自文件名的代码:Person.java
// 抽象类
abstract class Person {
public String fname = "John";
public int age = 24;
public abstract void study(); // 抽象方法
}
// 子类(从 Person 继承)
class Student extends Person {
public int graduationYear = 2018;
public void study() { // 此处提供了抽象方法的主体
System.out.println("Studying all day long");
}
}
// 文件名的结束代码:Person.java
// 来自文件名的代码:MyClass.java
class MyClass {
public static void main(String[] args) {
// 创建 Student 类的对象(从 Person 继承属性和方法)
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(); // 调用抽象方法
}
}
定义和用法
abstract
关键字是非访问修饰符,用于类和方法。
Class: 抽象类是不能用于创建对象的受限类(要访问它,必须从另一个类继承)。
Method: 抽象方法只能在抽象类中使用,并且它没有主体。主体由子类(继承自)提供。
相关页面
Java 教程: Java 修饰符教程。