にスーパーと協力して、私はエラーを取り除くしようとしています:<code>Cube</code>クラスのJava
Cube.java:12: error: constructor Rectangle in class Rectangle cannot be applied to given types;
super(x, y);
^
required: int,int,double,double
found: int,int.......
を私はキューブの各面は、その長さと幅と同じである必要は長方形である知っていますキューブの側面ですが、Rectangleコンストラクタに渡す必要があるものがわからないので、その長さと幅をキューブの側面と同じにする必要があります。
も矩形倍の面積である体積をキューブの辺の長さを計算しようと
これはキューブクラス
// ---------------------------------
// File Description:
// Defines a Cube
// ---------------------------------
public class Cube extends Rectangle
{
public Cube(int x, int y, int side)
{
super(x, y);
side = super.area(); // not sure if this is right
}
public int getSide() {return side;}
public double area() {return 6 * super.area();}
public double volume() {return super.area() * side;}
public String toString() {return super.toString();}
}
であり、これは矩形クラス
// ---------------------------------
// File Description:
// Defines a Rectangle
// ---------------------------------
public class Rectangle extends Point
{
private int x, y; // Coordinates of the Point
private double length, width;
public Rectangle(int x, int y, double l, double w)
{
super(x, y);
length = l;
width = w;
}
public int getX() {return x;}
public int getY() {return y;}
public double getLength() {return length;}
public double getWidth() {return width;}
public double area() {return length * width;}
public String toString() {return "[" + x + ", " + y + "]" + " Length = " + length + " Width = " + width;}
}
あります
Rectangle'は、2つの引数を取るコンストラクタを持っていない 'ので、あなたは'スーパー(x、y)を呼び出したときに呼び出されるどのようなコードを期待していますに、 '? – azurefrog
あなたの 'Cube'は' Rectangle'から継承する必要がありますか? 'Rectangle'の配列を保有するのではなく、それぞれ' Point'と 'length'を持っていますか?また 'Rectangle'は' Point'を拡張しているので、 'Rectangle'に' x'、 'y'、' getX'や 'getY'を定義する必要はありません。これらのプロパティを継承します。 –