返回信息流不清楚为什么下面的代码输出"Base"~~
----------------------------------------------------分割线--------------------------------------
// -------------- 父类
class Base {
private String showMe() {
return "Base";
}
public void print(){
System.out.println(showMe());
}
}
// ------------------ 子类
public class Sub extends Base {
public String showMe(){
return "Sub";
}
public static void main(String args[]){
Sub sub=new Sub();
sub.print();
}
}
这是一条镜像帖。来源:北邮人论坛 / java / #19234同步于 2011/7/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
【继承+方法重写】的代码没看懂,请高人指点
xuheer
2011/7/7镜像同步13 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
子类不能覆盖父类的私有方法
【 在 xuheer (hehe) 的大作中提到: 】
: 不清楚为什么下面的代码输出"Base"~~
: ----------------------------------------------------分割线--------------------------------------
: // -------------- 父类
: ...................
所以在企图覆盖的时候一定要写上 @Override
避免此类错误。。。。
【 在 ppooooll (小破坑) 的大作中提到: 】
: 好眼力
: 我看了半天想不明白
class Base {
private String showMe() {
return "Base";
}
public void print(){
System.out.println(showMe());
}
}
public class Sub extends Base {
public String showMe(){
return "Sub";
}
public void print(){
System.out.println(showMe());
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Sub sub=new Sub();
sub.print();
}
}
应该还跟多态有关。这个的输出就变了"sub"