字符串
所以我创建了一个名为car的String,现在我需要在创建新实例时应用递增的数字。
public class CarDash {
public String Car ="Car";
public static int instanceNumber;
}
然后需要计算创建了多少个实例
每当调用某种方法时,我应该添加一个计数器吗?或者在命名/创建新车时计算它?
instanceNumber++;
我不知道我是否有任何意义......
答案 0 :(得分:0)
尝试如下。
public class CarDash {
public String Car ="Car";
public static int instanceNumber;
CarDash() {
instanceNumber++;
Car = Car + instanceNumber;
}
public static int getInstanceCount() {
return instanceNumber;
}
}
答案 1 :(得分:0)
您只需要创建一个构造函数并增加instanceNumber(使用++instanceNumber
预增量)然后使用instanceNumber变量设置car值。
所以你的构造函数将类似于下面的内容。
public CarDash(){
Car="Car"+ (++instanceNumber);
}
全班将如下
public class CarDash {
public String Car = "Car";
public static int instanceNumber;
public CarDash(){
this.Car="Car"+ (++instanceNumber);
}
public static void main(String[] args) {
CarDash car=new CarDash();
CarDash car1=new CarDash();
CarDash car2=new CarDash();
System.out.println(car.Car+" "+car1.Car+" "+car2.Car);
}
}
输出将如下。
Car1 Car2 Car3
答案 2 :(得分:0)
你可以做instanceNumber ++;在你的构造函数中。 但是如果你将instanceNumber作为stati,请特别注意,因为这将由所有实例共享。 因此,在您的情况下(假设您有10个实例),您将获得所有实例的名称Car10。 e.g。
public class CarDash {
public String Car ="Car";
public static int instanceNumber;
public CarDash() {
instanceNumber++;
}
public String print(){
return Car+instanceNumber;
}
public static void main(String[] args) {
CarDash carDash=new CarDash();
CarDash carDash1=new CarDash();
CarDash carDash2=new CarDash();
System.out.println(carDash.print());
System.out.println(carDash1.print());
System.out.println(carDash2.print());
}
}
输出:: 的Car3 的Car3 的Car3
更好的方式:
public class CarDash2 {
public String Car ="Car";
public static int instanceNumber;
public int carId;
public CarDash2() {
instanceNumber++;
carId=instanceNumber;
}
public String print(){
return Car+carId;
}
public static void main(String[] args) {
CarDash2 carDash=new CarDash2();
CarDash2 carDash1=new CarDash2();
CarDash2 carDash2=new CarDash2();
System.out.println(carDash.print());
System.out.println(carDash1.print());
System.out.println(carDash2.print());
}
}
输出:: CAR1 CAR2 的Car3