Java 接口中的方法是否应使用或不使用公共访问修饰符进行声明?

Java 接口中的方法是否应使用访问修饰符进行声明?public

当然,从技术上讲,这并不重要。实现 的类方法始终是 。但什么是更好的公约呢?interfacepublic

Java本身在这方面并不一致。例如,请参见 vs. 或 vs. 。CollectionComparableFutureScriptEngine


答案 1

JLS清楚地表明了这一点:

允许(但出于风格问题)为接口中声明的方法冗余地指定和/或修饰符,但不鼓励这样做。publicabstract


答案 2

在Java接口中应该省略公共修饰符(在我看来)。

由于它不会添加任何额外的信息,因此它只是将注意力从重要的东西上移开。

大多数风格指南会建议你把它省略掉,但当然,最重要的是在你的代码库中保持一致,特别是对于每个接口。下面的例子很容易让某人感到困惑,他们不是100%流利地使用Java:

public interface Foo{
  public void MakeFoo();
  void PerformBar();
}