답이 x=200인 이유는
c.getX()->Child의 Child()->super()생략;적용->Parent()->Parent(200)->getX()->x의 return값
이기 때문이다
public static void main(String[] args) {
Child c = new Child();
System.out.println("x="+c.getX());
//me : x=1000
//답 : x=200
}
-------------------------------------------------
public class Parent {
int x=100;
Parent() {
this(200);//2
}
Parent(int x) {
this.x = x;//1
}
int getX() {
return x;
}
}
------------------------------------------------------
public class Child extends Parent {
int x = 3000;
Child() {
this(1000);//4
}
Child(int x) {
this.x = x;//3
}
}
'JAVA > 객체 코드' 카테고리의 다른 글
스타크래프트 (정답) (0) | 2020.06.03 |
---|---|
final Class (0) | 2020.06.03 |
static (0) | 2020.06.03 |
상속(4) instanceOf (0) | 2020.06.03 |
상속(3) 형변환, 배열// (다형성) (0) | 2020.06.03 |