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