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