instanceNumber ++를 수행 할 수 있습니다. 귀하의 생성자. 하지만 모든 인스턴스가 공유하기 때문에 instanceNumber가 stati 인 경우 특히주의하십시오. 그래서, 귀하의 경우 (인스턴스가 10 개 있다고 가정), 모든 인스턴스에 대해 Car10이라는 이름을 갖게됩니다. 예 :
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
constrcutor에서 'instanceNumber ++;'를 호출하십시오. –
생성자에 return 문이 필요합니까? –
* 생성자에서 return 문이 필요합니까? * ** 아니요. 반환 문이 필요하도록 생성자에 논리가 충분하지 않아야합니다. ** –