私はJavaが初めてです。コンストラクタの基本的な概念を知っています。コンストラクターを作成しない場合、コンパイラーもデフォルトのコンストラクターを作成することを知っています。
この toString() メソッドがどのように使用できるかを確認するプログラムを作成しましたが、
public class Vehicle{
int rollNo;
String name;
int age;
public Vehicle(int rollNo, String name, int age){
this.rollNo=rollNo;
this.name=name;
this.age=age;
}
public String toString(){
return rollNo+""+name+""+age;
}
public static void main(String[] args){
Vehicle v=new Vehicle(100, "XXX", 23);
Vehicle v2=new Vehicle(101, "XXXS", 24);
System.out.println(v);
System.out.println(v2);
}
}
そして、私は次のように出力を得ています:
100XXX23
101XXXS24
しかし、私の疑問は、なぜコンストラクターを作成し、同じ変数を引数として渡すのでしょうか?
このように変数に値を代入できず、コンストラクターなしで値を取得できないのはなぜですか?
public class Vehicle{
int rollNo=100;
String name="XXX";
int age=23;
// public Vehicle(int rollNo, String name, int age){
// this.rollNo=rollNo;
// this.name=name;
// this.age=age;
// }
//
public static void main(String[] args){
// Vehicle v=new Vehicle(100, "XXX", 23);
// Vehicle v2=new Vehicle(101, "XXXS", 24);
Vehicle v=new Vehicle(rollno,name,age);
// Vehicle v2=new Vehicle();
System.out.println(v);
// System.out.println(v2);
}
public String toString(){
return rollNo+""+name+""+age;
}
}