【发布时间】:2021-08-12 05:14:24
【问题描述】:
不知道为什么我在界面中的方法没有被覆盖。
我收到一条错误消息,指出调用该方法的类不是抽象的并且没有覆盖该方法。
代码如下:
public class Prioritization extends Task {
public void main(String[] args) {
setPriority();
}
}
interface Priority {
public void setPriority();
public void getPriority();
final int low = 1;
final int medium = 50;
final int high = 100;
}
public class Task implements Priority {
private int takeOutgarbage;
private int drinkBeer;
private int doHomework;
private String message;
public void setPriority(){
takeOutgarbage = 1;
drinkBeer = 100;
doHomework = 50;
}
}
这会产生以下错误:
Task 不是抽象的,不会覆盖 Priority 中的抽象方法 getPriority() 公共类任务实现优先级{
【问题讨论】:
-
您还需要在“任务”类中为 getPriority 方法提供定义,就像您对 setPriority 所做的那样。它的蓝图没有它的定义仍然是不完整的,因此它仍然是一个抽象(你得到的错误清楚地描述了)
-
不是你的问题,而是
public static void main(String[] args) {- 你不能让main成为实例方法。
标签: java methods interface overriding abstract