1

我收到以下错误:“Square 类中的构造函数 Square 不能应用于给定类型;必需:double,double found:无参数原因:实际参数列表和形式参数列表的长度不同”

我找不到任何我错过双打的地方,所以我很困惑为什么这不开心。谁能指引我正确的方向?

提前致谢!

class Square {

    private double Height;
    private double Width;
    private double SurfaceArea;

    Square(double sqHeight, double sqWidth) {
       this.Height = sqHeight;
       this.Width = sqWidth;
    }

        // Get square/cube height
        double getHeight() {
            return Height;
        }

        // Get square/cube width
        double getWidth(){
            return Width;
        }

        // Computer surface area
        double computeSurfaceArea(){
            SurfaceArea = Width * Height;
            return SurfaceArea;
        }


         }


class Cube extends Square {

    private double Height;
    private double Width;
    private double Depth;
    private double SurfaceArea;

    **// Error occurs here**
    Cube(double cuHeight, double cuWidth, double cuDepth) {
       this.Height = cuHeight;
       this.Width = cuWidth;
       this.Depth = cuDepth;
    }

        double getDepth() {
            return Depth;
        }

    @Override
        double computeSurfaceArea(){
            SurfaceArea = (2 * Height * Width) + 
                          (2 * Width * Depth) + 
                          (2 * Depth * Height);
            return SurfaceArea;
        } }
4

2 回答 2

5

您正在使用三个参数调用 Square 构造函数。

调用 Cube 构造函数时,它将隐式调用具有相同数量参数的基本构造函数,在您的情况下,它会尝试找到一个接受三个双参数的 Square 构造函数。

需要指定您使用两个双参数调用基类:在您的情况下,高度和宽度。

Cube(double cuHeight, double cuWidth, double cuDepth) {
   super(cuHeight, cuWidth);
   this.Height = cuHeight;
   this.Width = cuWidth;
   this.Depth = cuDepth;
}
于 2013-09-28T21:31:21.780 回答
0

需要在你的多维数据集构造函数中使用:

    super(cuHeight, cuWidth); 

调用 Square 构造函数。

于 2016-09-25T01:51:23.650 回答