我对 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;
}
}