public abstract class shape {
protected double volume;
protected double surface;
}
public class cube extends shape {
public double side;
public double newSide;
public cube(double side) {
side = newSide;
}
public void volume(double newSide){
System.out.println (newSide);
}
}
public class shapes {
public static void main(String[] args) {
cube a = new cube(5);
a.volume();
}
}
这会输出错误:
constructor cube in class cube cannot be applied to given types;
cube a = new cube(5.5);
required: double
found: no arguments
reason: actual and formal argument lists differ in length
我已将所有变量设置为双倍,所以不知道为什么它会抱怨。
答案 0 :(得分:2)
首先,你的构造函数是错误的。应该是
public cube(double side) {
this.side = side;
}
并且您收到错误是因为您为音量设置了一个参数 -
public void volume(double newSide){
System.out.println (newSide);
}
改成
public void volume(){
System.out.println(side);
}
在java中,你应该总是将类名大写。应该是立方体。
答案 1 :(得分:1)
Cube.java
public class Cube {
public double side;
public Cube(double side) {
this.side = side;
}
public void volume(){
System.out.println (side);
}
}
和 Shapes.java
public class Shapes {
public static void main(String[] args) {
Cube a = new Cube(5);
a.volume();
}
}