代码之家  ›  专栏  ›  技术社区  ›  neesh

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

  •  2
  • neesh  · 技术社区  · 17 年前

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

    interface A{
        public a();
    }
    

    interface A{
        abstract a();
    }
    

    interface A{
        a();
    }
    
    3 回复  |  直到 17 年前
        1
  •  12
  •   Brandon E Taylor    17 年前

    从第9.4节 Java Language Specification:

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

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

        2
  •  10
  •   cletus    17 年前

    public abstract

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

        3
  •  0
  •   Yishai    17 年前

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

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

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