select date_begin + (date_end - date_begin)/2
我不需要更改最终方法的实现,我只是想为它更改Javadoc。
答案 0 :(得分:7)
简单地说:你不能这样做。如果有的话,你可以在该子类的定义中加入一些javadoc来解释那个最终方法的行为已被改变。如果你能做到这一点 - 你可以改变 base 类的javadoc来说:"子类可能会使这个方法无效"或类似的东西。
除此之外,你应该明白,这也是一个明智的可疑的概念。
继承主要与代码重用无关。它是关于表达某个类A 是-a B,因为A扩展了B.所以当你决定在子类上创建一个方法无意义时,你基本上使超级合同。这不是一个好的做法(请参阅Liskov substitution principle,了解为什么在修改继承方法的合同时必须小心。)
你知道,关键字 final 不仅是编译器的信息。它也表达了那个用于该方法的人的意图。这个人说:"我不希望这个方法使用 temper 这个子类!"
答案 1 :(得分:2)
Java没有预见到这一点,因此无法使用标准Java工具。你mya提供了关于班级的更详细的解释。
您还可以尝试查看Javadoc API(Doclet API)并搜索其中的一些自定义实现或实现您自己的扩展,例如在类级别引入新的注释,并实现自定义Javadoc生成器以尊重它们。我不知道这样的事情是否已经存在。
更新: 另见GhostCat answer,他有很多理由说明你不应该这样做。