Đối với lớp Cube
, tôi đang cố gắng để thoát khỏi các lỗi:Làm việc với siêu trong 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.......
Tôi biết mỗi khuôn mặt của một Cube là một Rectangle có chiều dài và nhu cầu rộng để được giống như bên cạnh một khối lập phương nhưng tôi không chắc chắn những gì cần phải được thông qua để các nhà xây dựng hình chữ nhật để làm cho chiều dài và chiều rộng của nó giống như bên của một khối lập phương.
cũng cố gắng để tính toán khối lượng là khu vực của thời đại hình chữ nhật theo chiều dài của hai bên Cubes
Đây là lớp Cube
// ---------------------------------
// 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();}
}
và đây là lớp hình chữ nhật
// ---------------------------------
// 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;}
}
Từ 'Rectangle' không có một constructor mà mất 2 lập luận, những gì đang làm bạn mong đợi để được gọi khi bạn gọi' siêu (x, y); '? – azurefrog
Bạn có chắc 'Cube' của bạn cần kế thừa từ' Hình chữ nhật' và không chỉ đơn giản là giữ một mảng 'Hình chữ nhật', mỗi ô có 'Điểm và chiều dài' của riêng nó? Ngoài ra, vì 'Rectangle' mở rộng' Point', bạn không cần phải định nghĩa 'x',' y', 'getX' hoặc' getY' trong 'Rectangle' - bạn thừa hưởng các thuộc tính này. –