Java类中的默认字段修饰符是什么?

时间:2014-03-30 10:13:05

标签: java reflection field access-modifiers

在以下代码中,field1没有修饰符:public / protected / private

public class class1 {
    String field1;
}

那么field1的修饰符是什么?

在Java的Modifier定义中,这些是与字段相关的所有修饰符:

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

field1有哪些修饰符?我觉得它没有任何Modifier.PUBLIC,Modifier.PROTECTED和Modifier.PRIVATE

我问这个是因为我想通过Java反射来访问这个字段。


感谢。为了答案。

它确实没有修饰语。

我已经测试了field1的getModifiers()。它返回0。

感谢。

4 个答案:

答案 0 :(得分:3)

它没有修饰符。有关修改器缺乏的更多详细信息,请参见此处:

http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

答案 1 :(得分:1)

其修饰符称为default。每个变量/函数的修饰符都没有明确地告诉任何其他修饰符。

答案 2 :(得分:0)

没有修饰符。您可以从类,包中访问字段,但不能从子类或其他包访问。

答案 3 :(得分:0)

它具有修饰符 - 默认值,这总是意味着。使用默认值修改的字段或方法可以访问与字段或方法共享相同包的类。