关于java:接口方法的可访问性说明符与javadoc中的类方法

Accessibility specifier for Interface methods vs Class methods in javadoc

我看到在JavaDocs中,没有显式地指定接口方法的可访问性说明符。

例如,对于接口迭代器或类似的方法,没有一个方法指定其可访问性修饰符。

但对于类(如arraylist),方法指定了其可访问性修饰符。为什么呢?


在接口中,所有方法都隐式地访问public。一个非新手Java程序员会知道这一点并理解这一点,并且可能认为在接口JavaDoc中包含EDCOX1对0访问方法是多余的。

除此之外,对JavaDoc进行格式化的唯一解释是,Oracle/Sun工程师决定采用这种方式来实现JavaDoc生成器。(他们不得不决定包括或省略多余的修饰符,而他们选择了省略它们。)坦率地说,他们决定采用哪种方式来实现这一点几乎无关紧要。


对于接口,所有的方法都是EDCOX1,0,EDCOX1,1,根据Java语言规范。因此,如果上面的规则对于所有接口方法都是真的,就不需要提到访问说明符。

但是类可以具有不同的方法风格,因此每个方法都提到了访问说明符。


这是因为,接口方法的默认访问说明符是公共的。但是,对于类来说,它是包私有的——这对API类没有太大的用处。