我有一個實現媲美,並具有一個抽象類以下內容:比較相同的父抽象類和輸出兩個對象是零
public abstract class Figure implements Comparable{
protected double height ;
public abstract double getArea();
public abstract double calculatevolume();//will be used later to compare the volume
public int compareTo(Figure o) {
return 0;
}
}
我有圓形和方形爲圖中的孩子,但是當我嘗試與兩個對象的體積相比,它總是返回0!
這在圈內類我compareTo方法:
public int compareTo(Object o) {
Figure a = (Figure) o;
if (this.calculatevolume() > ((Figure) o).calculatevolume())
return (int)this.calculatevolume();
else if (this.calculatevolume() < ((Figure) o).calculatevolume())
return (int) a.calculatevolume();
else
return 0;
}
研究原始類型,然後嘗試不再使用它們。 –