我有一个名为Event的类,它是抽象的。我有另一个名为RecurringEvent的类,它也是抽象的并扩展了Event。事件编译但RecurringEvent没有错误。
错误:
RecurringEvent.java:6: error: constructor Event in class Event cannot be applied to given types;
{
^
required: int
found: no arguments
reason: actual and formal argument lists differ in length
代码:
public abstract class Event implements Comparable
{
private int timeAtWhichEventHappens;
public Event(int t)
{
setTime(t);
}
public abstract void execute(Simulator s);
public int getTime()
{
return timeAtWhichEventHappens;
}
public void setTime(int t)
{
timeAtWhichEventHappens = t;
}
public int compareTo(Object o)
{
Event e = (Event) o;
return e.getTime()-getTime();
}
}
public abstract class RecurringEvent extends Event
{
private int period;
}
我该如何解决?
答案 0 :(得分:1)
构造函数Event(int)
需要一个整数参数。
Ergo 您的RecurringEvent
构造函数必须调用super(int)
,它不是,因为您根本没有声明它,并且编译器不是& #39;为你做这件事。它无法读懂你的想法。
abstract
与此无关。
答案 1 :(得分:-1)
RecurringEvent
需要有一个调用super(int)
的构造函数,因为超级构造函数有一个参数。我很确定超级构造函数是否没有这个参数可行。