Java 在扩展中将非抽象方法重写为抽象方法 class

Java override non abstract method as abstract in extended class

所以我在基础 class 中有一个非抽象方法 onStop。 在扩展的 MyTask 中将其抽象化是否可以接受?目的是强制由扩展 MyTask 的 classes 实现 onStop。

public abstract class Task {

    public void onStop() {
    
    }
}

实施:

public abstract class MyTask extends Task {
    //..

    // Is this acceptable?
    public abstract void onStop();
}

如果 MyTask 也是 abstract,则允许​​这样做。它强制 MyTask 的所有具体 sub-classes 提供它们自己的 onStop() 实现,而不是使用基础 Task class 的 onStop() 实现.