实现和已经由超类实现的接口?

时间:2010-08-01 05:05:21

标签: java jodatime

在Joda中,我看到Instant类扩展了AbstractInstant并实现了Readable已经在AbstractInstant中实现的{{1}}。这背后的原因是什么?

4 个答案:

答案 0 :(得分:2)

事故。

无论如何都没有任何区别。要么有一个历史原因 - AbstractInstant被重新引用,作者在子类中保留Readable以实现向后兼容 - 或者它只是一个无害的oopsie。

答案 1 :(得分:1)

  

这背后的原因是什么?

我想不出你为什么会这样做的任何技术原因,但也许是为了使源代码和Javadoc中的类/接口关系更加明确。

但无论什么原因,它都没有实际意义。

答案 2 :(得分:1)

是的,在编写生产代码时尽可能明确更好。尽管从技术上讲,提及“实现可读”并没有什么不同,但它可能只是帮助一些孤独的开发人员在一个非常精致的夜晚维护代码。通过查看示例中的AbstractInstant类,而不是让他了解方法的实现位置。

答案 3 :(得分:0)

它的合法性,但不应该有任何区别。 我甚至没有理由这样做。