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(); // 调用抽象方法
  }
}