代码如下,s2.display()输出的是"S1",而s2.method()输出的是"子类的show".
同样是子类调用父类的方法,如果父类方法中访问的是成员变量,就访问父类的,如果父类方法中访问的是成员方法,就访问子类的,是这样吗?
如果是的话,又是为什么呢
package com.itheima;
class Check {
String s = "Outer";
public static void main(String[] args) {
S2 s2 = new S2();
s2.display();
s2.method();
}
}
class S1 {
String s = "S1";
public void display() {
System.out.println(s);
}
public void method() {
show();
}
public void show() {
System.out.println("父类的show");
}
}
class S2 extends S1 {
String s = "S2";
public void show() {
System.out.println("子类的show");
}
} |
|