Java 在接口中定义方法的不同方法

Java 在接口中定义方法的不同方法,java,interface,Java,Interface,以下两者之间有什么区别吗 interface A{ public a(); } 及 及 public和abstract在接口方法上是多余的,因此这三种方法是相同的 就我个人而言,我总是使用第三个。来自本手册第9.4节 正文中的每个方法声明 接口的属性是隐式的 摘要 正文中的每个方法声明 接口的类型是隐式公共的 就我个人而言,我更喜欢显式地将我的接口方法声明为公共的。虽然这是多余的,但在其他上下文中,没有修饰符的方法是包私有的,因此我发现在某些上下文中暗示public而在其他上下文中暗示

以下两者之间有什么区别吗

interface A{
    public a();
}


public
abstract
在接口方法上是多余的,因此这三种方法是相同的

就我个人而言,我总是使用第三个。

来自本手册第9.4节

正文中的每个方法声明 接口的属性是隐式的 摘要

正文中的每个方法声明 接口的类型是隐式公共的


就我个人而言,我更喜欢显式地将我的接口方法声明为公共的。虽然这是多余的,但在其他上下文中,没有修饰符的方法是包私有的,因此我发现在某些上下文中暗示public而在其他上下文中暗示package private可能会令人困惑,特别是在有很多静态final字段的接口中,如果您从IDE钻取到方法,并且没有看到声明的顶部,那么可能无法立即看出您正在查看接口

但我发现抽象是多余的,因为方法degration以分号结尾


但这些都是风格和偏好的问题。功能完全相同。

@neesh您是否编写了一些代码并查看是否有差异?
interface A{
    abstract a();
}
interface A{
    a();
}