之间有什么区别:
interface A{
public a();
}
和
interface A{
abstract a();
}
和
interface A{
a();
}
答案 0 :(得分:12)
来自Java Language Specification:
的第9.4节正文中的每个方法声明 接口是隐含的 抽象...
正文中的每个方法声明 接口是隐式公开的。
答案 1 :(得分:10)
public
和abstract
在接口方法上是多余的,因此三者是相同的。
我个人总是使用第三个。
答案 2 :(得分:0)
我个人更喜欢明确声明我的接口方法是公开的。虽然它是多余的,但在其他情况下,没有修饰符的方法是包私有的,所以我发现它可能令人困惑,特别是在具有大量静态最终字段的接口中,在某些上下文中暗示公开而在其他上下文中包含私有,如果从IDE中钻取到方法并且看不到声明的顶部,则可能不会立即显示您正在查看接口
但我觉得抽象是多余的,因为方法decalration以分号结束。
但这些都是风格和偏好的问题。功能完全相同。