默认方法是Java工具箱中一个不错的新工具。但是,我试图编写一个定义方法default
版本的接口toString
。Java告诉我,这是禁止的,因为in中声明的方法java.lang.Object
可能无法default
编辑。为什么会这样呢?
我知道有一个“基类总是获胜”规则,因此默认情况下(pun;),default
该Object
方法的任何实现都会被该方法覆盖Object
。但是,我认为没有理由为什么Object
规范中的方法不应有例外。特别是因为toString
使用默认实现可能非常有用。
那么,Java设计者决定不允许default
方法覆盖方法的原因是什么Object
?
相关分类