업캐스팅을 할경우 서브클래스와 동일한 멤버필드는 슈퍼클래스를 사용하며,
오버라이드된 메소드의 경우 오버라이드된 메소드를 사용한다.
그렇다면 오버라이드된 메소드에서 슈퍼클래스와 동일한 멤버필드 변수를 사용한다면??
답: 서브 클래스의 멤버필드 변수가 사용된다.. ㄷㄷ
뭐이리 복잡하노...
---------------
public class Test {
public static void main(String[] argumenst){
P1 p1 = new P2();
p1.print();
System.out.println(p1.a);
}
}
class P1{
int a = 10;
public void print(){
System.out.println(a);
}
}
class P2 extends P1{
int a = 20;
public void print(){
System.out.println(a);
}
}
'넋두리' 카테고리의 다른 글
뷰어란 무엇일까... (0) | 2011.05.27 |
---|