class
わかりました、 Box でキーワードを記述しておらず、入力を節約するために幅、高さ、深さの宣言も省略したという仮定から始めています。
Java では、コンストラクターを指定しない場合、パラメーターを取らないデフォルトのコンストラクターがデフォルトで存在します。したがって、以下のようにクラス Box に何も記述しなくても、main でその基本コンストラクターを呼び出すことができます。
class Box{
}
class CallingClass{
public static void main(String args[]){
Box box = new Box(); // this would work.
}
}
他のコンストラクターを 1 つでも指定すると、宣言されていないデフォルトのコンストラクターは、明示的に宣言するまで使用できなくなります。
class Box{
public Double height;
public Box(Double height){
this.height = height;
}
}
class CallingClass{
public static void main(String args[]){
Box box = new Box((double)50); // this would work.
Box anotherBox = new Box(); // this will give you an error.
}
}
コンストラクターをすばやくオーバー:
public Box(){...} // default constructor in which you allow caller to not worry about initialization.
public Box(Box boxToCopy){...} // copy constructor for creating a new box from the values of an old one.
public Box(double height, double width, double depth){...} // should create a box with specified dimensions.