【发布时间】:2020-06-12 19:36:09
【问题描述】:
我有以下java代码段,
class Box{
int length;
int width;
int height;
Box(int length, int width, int height){
this.length=length;
this.width=width;
this.height=height;
}
Box(){
this.length=1;
this.width=1;
this.height=1;
}
}
class Demo{
public static void main(String args[]){
Box b1=new Box(); //calling default
System.out.println("Length : "+b1.length);
System.out.println("Width : "+b1.width);
System.out.println("Height : "+b1.height);
b1.Box(12,5,3);
System.out.println();
}
}
但是当我在代码高亮而不是编译之后编译 java 文件时
b1.Box(12,5,3);
问题是什么,如何解决?
【问题讨论】:
-
b1 = new Box(12,5,3);? -
构造函数不是方法。
-
b1.length=12;b1.width=5;b1.height=3; -
为什么不首先“直接”调用参数化构造函数呢?为什么还要使用默认构造函数?