class Parent {
int x = 100;
Parent() {
this(200); // Parent (int x) 를 호출
}
Parent(int x) {
this.x = x;
}
int getX() {
return x;
}
}
class Child extends Parent {
int x =3000;
Child() {
this(1000); // Child(int x) 를 호출
}
Child(int x) {
this.x = x;
}
}
class Exercise7_7 {
public static void main(String[] args) {
Child c = new Child();
System.out.prinln("x = " + c.getX() );
}
}
//------------------------------모범답안------------------------------------------
/*
Child() -> Child(int x) -> Parent() -> Parent(int x) -> Object()
실행결과 => x=200
Child(int x) {
super(); // Parent() 를 호출
this.x = x;
}
* 컴파일 후 위와같은 코드로 바뀐다. super() 는 Child 클래스의 조상 클래스인 Parent 클래스의 기본생성자를 의미한다.
*/
댓글 없음:
댓글 쓰기