2014-03-30 49 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

它的剂量有修饰符 - 默认,这总是隐含的。缺省修改的字段或方法可访问与字段或方法共享相同包的类。

相关问题