返回信息流看书 看的有点不明白了 求解释区别
这是一条镜像帖。来源:北邮人论坛 / java / #12426同步于 2009/11/26
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
方法的覆盖 和 重定义 的区别是什么?????
fly84021210
2009/11/26镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
java里有overload和override。覆盖和重定义是一回事,都是override,都是指的子类显示的重写父类已有方法。overload是重载,就是方法名一样参数不一样。
【 在 greedisgood 的大作中提到: 】
: java里有overload和override。覆盖和重定义是一回事,都是override,都是指的子类显示的重写父类已有方法。overload是重载,就是方法名一样参数不一样。
我也认为是一样的 一开始 可是书上有这样一段话
Finally remember that static methods can not be overridden!This does not mean they can not be redefined in a subclass,but redefining and overriding are not the same thing
这段话 我理解为 重定义 和 覆盖 不是一样的 至少在static methods 的继承上面
。。这么个重定义。静态方法不涉及实例化,没有重写的概念。lz可以试试在子类的静态方法中调用父类的非静态方法是会出错的,而在子类的非静态方法中调可以调用父类的任何方法。这是重写和“重定义”的区别。