我看到在javadoc中,接口方法的可訪問性說明符沒有明確指定。接口方法的可訪問性說明符vs javadoc中的類方法
例如對於接口Iterator或Comparable,這些方法都沒有指定其可訪問性修飾符。
但是對於例如類ArrayList方法指定了其可訪問性修飾符。爲什麼這樣 ?
我看到在javadoc中,接口方法的可訪問性說明符沒有明確指定。接口方法的可訪問性說明符vs javadoc中的類方法
例如對於接口Iterator或Comparable,這些方法都沒有指定其可訪問性修飾符。
但是對於例如類ArrayList方法指定了其可訪問性修飾符。爲什麼這樣 ?
對於接口,所有的方法是public
和abstract
根據java language specification。因此,如果上述規則適用於所有接口方法,則無需提及訪問說明符。
但是類可以有不同的方法風格,因此每個方法都提到訪問說明符。
這是因爲,接口方法的默認訪問說明符是公共的。但是,對於類來說它是私有包 - 這對於API類不會有太大用處。
在一個界面中,所有方法含蓄地都有權訪問public
。一個非新手Java程序員會知道這一點,並理解這一點,並可能會認爲它是冗餘包括一個public
接口javadocs中的方法。
除此之外,以這種方式格式化javadoc的唯一解釋是這是Oracle/Sun工程師決定實現javadoc生成器的方式。 (他們必須決定包含或省略多餘的修飾符,並且他們選擇忽略它們)。坦率地說,它們決定實現這一點並不重要。
[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