【发布时间】:2010-06-16 10:04:01
【问题描述】:
我只是在刷新 java 的 oops 功能。所以,我对继承概念有点困惑。为此,我有以下示例代码:
class Super{
int index = 5;
public void printVal(){
System.out.println("Super");
}
}
class Sub extends Super{
int index = 2;
public void printVal(){
System.out.println("Sub");
}
}
public class Runner {
public static void main(String args[]){
Super sup = new Sub();
System.out.println(sup.index+",");
sup.printVal();
}
}
现在上面的代码给我的输出是:5,Sub.
这里,我们重写了 printVal() 方法,所以它只访问子类方法是可以理解的。
但我不明白为什么它要从 Super 类中访问 x 的值...
提前谢谢....
【问题讨论】:
-
请评论哪个答案最接近正确。
标签: java inheritance