我正在重构一堆由不同的人编写的课程,这些课程没有一致的标准。在此过程中,我开始思考这些声明之间是否存在任何差异:
public class foo(){
int fooBar = 1;
......
和
public class foo(){
private int fooBar = 1;
......
请注意,这是一个语义问题,我完全了解范围,封装等问题。问题是,在类字段中使用私有范围注释做了什么吗?
感谢所有想法..
(PS。我目前的理解水平表明没有区别)
答案 0 :(得分:13)
绝对存在差异。 default access level for a class member in Java is package-private,而非私人。这意味着在第一个版本中,与Foo
相同的包中的任何类都可以访问fooBar
,而在第二个版本中则不是这种情况。