【发布时间】:2017-12-28 22:03:34
【问题描述】:
考虑一个类A,它实现了一个接口B,它有一个static方法info()。为什么不能做A.info()?如果是默认方法,可以做A.info(),我不明白为什么会有区别:它们是不是abstract但已经在interface中定义的两种方法,区别应该只是一个是static 而另一个不是。
【问题讨论】:
-
静态方法属于类,不可继承。因此没有
A.info()这样的东西,静态方法info(),在你的例子中,属于B类,应该通过B.info()调用以避免任何混淆。 -
除了解释之外,您能否提供示例代码。阅读minimal reproducible example 以获取有关提供良好代码示例的提示。
标签: java interface static default