小编典典

没有合适的构造函数

java

class Box
{
// Instance Variables
double length ,ipsos ;
double width ,mikos ;
double height ,platos;
// Constructors
 public Box ( double side )
{
width = side ;
height = side ;
length = side ;
}
public Box ( double x , double y , double z)
{
    platos = y ;
ipsos = z;
mikos = x ;

}

// Methods
double calculate(double praksi)
{
return 2 * ( width * height +
width * length +
height * length ) ;
}
double volume(double emvadon)
{
return platos*ipsos*mikos ;
}

@Override
public String toString() {
    return "Volume: " + volume(1) + "\n Calculate: " + calculate(1);
}
public class Cube extends Box {
    public Cube(double side) {
        super(side, side, side);
        if (side<0) { System.out.println("lathos timi");} 
    }

public void calculate2(double z )
{super.calculate( z  );}
public void volume2(double y)
{super.volume( y );}
@Override
public String toString() {
    return "Volume: " + super.volume(1) + "\n Calculate: " + super.calculate(1);
}


}
public class Spirtokouto extends Box {
    public Spirtokouto(double side) {     
        double weight;
        super(side, side, side,side);

    }

}

}

只有最后一部分(我的意思是我仅对此有问题)

当我编译它时,我没有合适的构造函数错误。为什么是这样??顺便说一下,Spirtokouto类的目的是要增加一个计数值(权重)。我可以将一个班级扩展到>
1个班级吗?


阅读 264

收藏
2020-12-03

共1个答案

小编典典

Box类有两个构造函数:public Box ( double side )public Box ( double x , double y , double z)但它们都不带四个参数,而您要用四个参数来调用它,因此请更改此参数:

 public Spirtokouto(double side) {     
        double weight;
        super(side, side, side,side);    
    }

对此:

 public Spirtokouto(double side) {     
        super(side, side, side);    
        double weight;
    }

调用super必须首先在构造函数中进行

我可以将一个班级扩展到 > 1个班级吗?
如果您是说一个类可以继承多个类,那么在Java中答案是否定的。但是,您可以让一个类实现多个接口,但这是另一回事。

2020-12-03