我在 Java 中有一个父类,称为Flight
. 我有子类:JetFlight
,NormalFlight
等继承自Flight
.
我希望所有子类都compareTo
从Comparable
接口实现。我希望它们继承自,Flight
因为我想使用多态性(例如,启动一个数组并用、等Flight
对象填充它)。JetFlight
NormalFlight
这是我的父类代码:
public abstract class Flight {
public abstract int compareTo(Object o);
}
这是其中一个子类的代码:
public class JetFlight extends Flight implements Comparable<JetFlight> {
private int flightTime;
public JetFlight(int flightTime) {
this.flightTime = flightTime;
}
public int compareTo(JetFlight j) {
return this.flightTime - j.flightTime;
}
}
由于 2 个错误,此代码无法编译:
1)compareTo(T) in 'java.lang.Comparable' clashes with 'compareTo(Object)' in 'Flight'; both objects have the same erasure, yet neither overrides the other.
2)Class 'JetFlight' must either be declared abstract or implement abstract method 'compareTo(Object)' in 'Flight'
当我想从一个类继承并同时在子类上使用泛型时,我该如何处理?