2015-01-07 90 views
0

在Java中,在接口的主體中,必須聲明方法和變量是否具有公共訪問權?如果是這樣,在沒有「公共」訪問修飾符的情況下聲明接口訪問可以獲得什麼,即將訪問權限保留爲默認訪問權限?Java接口成員

舉個例子,什麼可以從寫

interface DefaultAccess { 

,而不是

public interface PublicAccess { 

得到什麼呢?

+0

接口成員默認都是公有的,但沒有訪問修飾符接口只在同一個包訪問。 – peterremec

+2

你的例子與你的問題不同。你問界面本身是否公開?還是你問它的方法和領域?請注意,接口的所有成員都是公共的 - 您不能以任何其他方式使用它們。 –

+0

謝謝大家。爲了澄清,我得到的查詢是:如果實現接口方法/變量的類方法始終是公共的,那麼可以將接口本身聲明爲默認訪問權限,例如非公有?根據查詢http://stackoverflow.com/questions/161633/should-methods-in-a-java-interface-be-declared-with-or-without-a-public-access-m – Martin

回答

1

即使您沒有以這種方式聲明它們,接口方法也是隱含的public

接口本身與類有相同的規則。公共工程如往常一樣,包私有(即無修飾符)意味着接口只能由同一個包中的類使用。

1

如果該接口未公開,則無法在包含該接口的包之外訪問該接口。

這可以幫助你更好地理解它: Java Access Modifiers