这是我的Box.java
public class Box{
private int height, width, length;
public void setLength(int il) {
length = il;
}
public void setWidth(int iw) {
width = iw;
}
public void setHeight(int ih){
height = ih;
}
public int getVolume() {
return length * width * height;
}
public int getSurfaceArea(){
return ((length*width)*2)+((length*height)*2)+((width*height)*2);
}
public String tostring(){
return "Height is: "+"," + "Length is: "+"," + "Width is: "+"," + "Volume is: "+"," + "Surface Area is: ";
}
public Box ( int il, int iw, int ih ) {
length = il;
width = iw;
height = ih;
}
public Box() {}
}
这是我的BoxApp.java
public class BoxApp {
public static void main (String[ ] args) {
Box box1 = new Box();
System.out.println(Box.tostring());
}
}
当我运行它时给了我这个错误 [第9行] 错误:无法对Box类型
中的非静态方法tostring()进行静态引用答案 0 :(得分:2)
应该是
System.out.println(box1.toString());
您希望在刚刚创建的对象上调用方法,而不是在类Box
的名称上调用该方法,该方法仅适用于static
方法,如错误消息所示。< / p>
答案 1 :(得分:2)
为什么使用BOX.toString()
?使用box1.toString()
或在BOX.java中将toString()
方法更改为static
。
答案 2 :(得分:1)
你应该调用box1.tostring(),而不是Box.tostring()
该方法不是静态类方法......