首页 > 解决方案 > 如何用超类中存在的名称重命名方法?

问题描述

我想用 重命名我的函数notify(),我得到编译错误:

Method 'notify()' cannot override method 'notify()' in
 'java.lang.Object'; overridden method is final.

我可以这样做吗?如果不是,为什么不呢?

标签: javaobjectmethodscompiler-errorsfinal

解决方案


您不能覆盖最终方法。

notify如果需要参数,您可以使用名称定义方法,例如

void notify(Object thing, String that) {
  // ...
}

否则,您唯一的选择是重命名该方法。

(如果你想让你的名字被你的代码的未来用户诅咒,你可以命名你的方法notıfy();但无论如何,如果没有土耳其语键盘,这将是非常棘手的。)


推荐阅读