Card c = new Card()
1. 연산자 new에 의해서 메모리(heap)에 Card 클래스의 인스턴스가 생성된다.
2. 생성자 Card()가 호출되어 수행된다.
3. 연산자 new의 결과로, 생성된 Card인스턴스의 주소가 반환되어 참조변수 c에 저장된다.
It is not the constructor which builds the instance. It's a new operator.
Calling another constructor of member
class Car{
String color;
String gearType;
int door;
Car(){
this("white", "auto", 4);
}
Car(String color){
this(color, "auto", 4);
}
Car(String color, String gearType, int door){
this.color = color;
this.gearType = gearType;
this.door = door;
}
}
Instance copy using constructor
class Car{
String color;
String gearType;
int door;
Car(){
this("white", "auto", 4);
}
Car(Car c){ // constructor for instance copy
color = c.color;
gearType = c.gearType;
door = c.door;
}
Car(String color, String gearType, int door){
this.color = color;
this.gearType = gearType;
this.door = door;
}
}
public class CarTest3 {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car(c1);
}
}