类级别字段声明中的private关键字是否实际执行了任何操作?

时间:2012-02-13 23:55:31

标签: java

我正在重构一堆由不同的人编写的课程,这些课程没有一致的标准。在此过程中,我开始思考这些声明之间是否存在任何差异:

public class foo(){

    int fooBar = 1;

    ......

public class foo(){

    private int fooBar = 1;

    ......

请注意,这是一个语义问题,我完全了解范围,封装等问题。问题是,在类字段中使用私有范围注释做了什么吗?

感谢所有想法..

(PS。我目前的理解水平表明没有区别)

1 个答案:

答案 0 :(得分:13)

绝对存在差异。 default access level for a class member in Java is package-private,而非私人。这意味着在第一个版本中,与Foo相同的包中的任何类都可以访问fooBar,而在第二个版本中则不是这种情况。