2014-03-30 51 views
0

在下面的代碼,FIELD1沒有一個定語:公共/保護/私人什麼是Java類中的默認字段修飾符?

public class class1 { 
    String field1; 
} 

那麼什麼是field的修改?

在Java中的修改定義,這些都是是相關的字段中的修改器:

Modifier.PUBLIC   | Modifier.PROTECTED | Modifier.PRIVATE | 
    Modifier.STATIC   | Modifier.FINAL  | Modifier.TRANSIENT | 
    Modifier.VOLATILE; 

其中改性劑(s)沒有FIELD1有?我覺得它沒有任何Modifier.PUBLIC,Modifier.PROTECTED和Modifier.PRIVATE

我問這個,因爲我想通過Java反射訪問這個字段之一。


謝謝。爲答案。

它確實沒有修飾符。

我測試了field1的getModifiers()。它返回0.

謝謝。

+1

它沒有任何修飾符。 –

+0

它爲什麼*需要*有一個修飾符?從源代碼中,它沒有*修飾符... –

+0

修飾符是一個位掩碼,0或none是一個有效的選項。順便說一句在其他情況下的默認修飾符是不同的。 –

回答

1

它的修改被稱爲default。每個變量/函數的修飾符都沒有明確地告訴任何其他修飾符。

0

沒有修飾符。您可以從類,包中訪問字段,但不能從子類或其他包中訪問。

0

它的劑量有修飾符 - 默認,這總是隱含的。缺省修改的字段或方法可訪問與字段或方法共享相同包的類。

相關問題