2014-10-05 59 views
0

我看到在javadoc中,接口方法的可訪問性說明符沒有明確指定。接口方法的可訪問性說明符vs javadoc中的類方法

例如對於接口Iterator或Comparable,這些方法都沒有指定其可訪問性修飾符。

但是對於例如類ArrayList方法指定了其可訪問性修飾符。爲什麼這樣 ?

回答

1

對於接口,所有的方法是publicabstract根據java language specification。因此,如果上述規則適用於所有接口方法,則無需提及訪問說明符。

但是類可以有不同的方法風格,因此每個方法都提到訪問說明符。

1

這是因爲,接口方法的默認訪問說明符是公共的。但是,對於類來說它是私有包 - 這對於API類不會有太大用處。

+1

[This other SO question](http://stackoverflow.com/questions/161633/should-methods-in-a-java-interface-be-declared-with-or-without-a-public-access- m)討論爲什麼不建議爲接口方法指定公共訪問說明符。 – 2014-10-05 06:32:48

1

在一個界面中,所有方法含蓄地都有權訪問public。一個非新手Java程序員會知道這一點,並理解這一點,並可能會認爲它是冗餘包括一個public接口javadocs中的方法。

除此之外,以這種方式格式化javadoc的唯一解釋是這是Oracle/Sun工程師決定實現javadoc生成器的方式。 (他們必須決定包含或省略多餘的修飾符,並且他們選擇忽略它們)。坦率地說,它們決定實現這一點並不重要。