哈哈重载函数。
因为子类class Bart 中的void doh(Milhouse m) {} 啥夜没干
b.doh(new Milhouse()); 调用了class Bart 中的void doh(Milhouse m) {}
因为它啥也没干,所以你删了,没影响
如果你作如下修改
class Milhouse {} class Bart extends Homer {
void doh(Milhouse m) {System.out.println("Hello!!"); }
}
你再试试去?看看有没有这段代码程序结果还一样么
因为子类class Bart 中的void doh(Milhouse m) {} 啥夜没干
b.doh(new Milhouse()); 调用了class Bart 中的void doh(Milhouse m) {}
因为它啥也没干,所以你删了,没影响
如果你作如下修改
class Milhouse {} class Bart extends Homer {
void doh(Milhouse m) {System.out.println("Hello!!"); }
}
你再试试去?看看有没有这段代码程序结果还一样么
解决方案 »
- org.apache.commons.net.ftp.FTPClient连接服务器超时
- 关于Java中静态变量和静态方法的问题
- 谁用过jnotify,给个例子,网上的例子很少
- wait 和notify 可以在非同步块执行吗?
- 文本数据源,如果导入到数据库中(在线等)
- 怎样实现像 windows 任务管理器中,"性能" 的波形监示器!
- 请大家帮我看看,我这个最简单的在PANEL上显示一条信息,为什么显示不出来!(在线等)
- 关于服务器的性能、状态、参数的监控的代码
- 做一个Java程序。将光盘上的某个目录拷到C盘上
- 什么软件可以把CLASS转换为JAVA???
- 一个有关java服务器端的问题
- 这种情况下数据库连接能不能被自动垃圾回收?
在衍生类里对那个方法名的重新定义就不会隐藏任何基础类的版本。
隐藏是指覆写了父类的方法.隐藏的是父类的方法.
你在Bart类中加上这个试试:
float doh(float f) {
System.out.println("--Bart doh(float)");
return 1.0f;
}
这样就在子类调用这个方法时,调用的是子类的方法不是父类的方法
即覆盖了父类的方法或者说隐藏了父类的方法。
另外中文版的think in java翻译的太差
建议你对照着英文版的看