私はこの元の親抽象クラスGeometricを持っていました。私はそれをOctagonで拡張していましたし、ComparableとCloneableも実装していました。 IDKなぜ私は上記のerror.Helpを取得し続けていただければ幸いです。"継承された抽象メソッドを実装する必要があります"
class Octagon extends GeometricObject implements Cloneable, Comparable{
private double side;
public class Octagon(){
}
public class Octagon(double s){
side=s;
}
public double getArea(){
return (2+4/Math.sqrt(2))*side*side;
}
public double getPerimeter(){
return 8*side;
}
public int compareTo(Object o){
if (getArea()>((Octagon)o).getArea()){
return 1;
}
else if (getArea()<((Octagon)o).getArea()){
return -1;
}
else
return 0;
}
public Object clone() throws CloneNotSupportedException{
super.clone();
}
}
そして、あなたは、あなたが、本質的に、あなたのクラスがGeometricObjectを行うことができますすべてのもの、そしておそらくより多くを行うことができますことを期待されている「オクタゴンはGeometricObjectを拡張し、」書くときに、これは私の幾何学的クラス
public abstract class GeometricObject{
private String color="white";
private boolean filled;
private java.util.Date dateCreated;
protected GeometricObject(){
dateCreated=new java.util.Date();
}
protected GeometricObject(String color, boolean filled){
dateCreated=new java.util.Date();
this.color=color;
this.filled=filled;
}
public String getColor(){
return color;
}
public void setColor(String color){
this.color=color;
}
public boolean isFilled(){
return filled;
}
public void setFilled(boolean filled){
this.filled=filled;
}
public java.util.Date getDateCreated(){
return dateCreated;
}
public String toString() {
return "created on "+dateCreated+"\ncolor: "+color;
}
public abstract double getArea();
public abstract double getPerimeter();
}
はおそらく、あなたはスーパークラスの抽象メソッドのいずれかを実装するために忘れてしまいました'GeometricObject'です。 – vidit
'GeometricObject'にオーバーライドしていない抽象メソッドがいくつかあるようです。コンパイラは、あなたの質問に答えなければならない欠落している方法を正確に教えてください。 –
あなたがその抽象クラスのコードを投稿しない限り、エラーがなぜ発生するのかはわかりません。 – asgs