首先,這裏是我的抽象類:擴展抽象類和使用方法使用不同的參數
public abstract class GeometricObject2D implements Comparable {
public abstract boolean contains(GeometricObject2D g);
public abstract boolean contains(double x, double y);
public abstract boolean overlaps(GeometricObject2D g);
public abstract int compareTo(Object temp);
public abstract double getArea();
public abstract double getPerimeter();
}
我應該把它與其他兩個類,ComparableCircle2D和ComparableRectangle2D延伸。兩者都包含所有的方法,不同的是他們用自己的論點在包含和重疊方法,例如:
public class ComparableCircle2D extends GeometricObject2D {
//...
public boolean contains(ComparableCircle2D circle){
//method
}
//...
public boolean overlaps(ComparableCircle2D circle){
//method
}
//...
}
這是我的錯誤:
錯誤:(1 ,8)java:ComparableCircle2D不是抽象的,也不會覆蓋GeometricObject2D中的抽象方法重疊(GeometricObject2D)。
其他班也一樣。我不完全明白什麼是錯的,所以一個解釋和一個解決方案將不勝感激。
P.S:參數必須保持不變。
當你實現'C時,你應該使用泛型而不是原始類型omparable「,即'implements Comparable'和'compareTo(Geometric2DObject other)'。 –