Java实例变量可访问性
Java中以下变量的可访问性有什么区别?
public class Joe {
public int a;
protected int b;
private int b;
int c;
}
我最感兴趣的是最后一个人在做什么。
有关更多详细信息,请参阅JLS
编辑:添加评论保护说明访问是从同一包内授予,你们是完全正确的。 还为私人添加评论。 我想起来了... ;-)
对不起,回复前一个答案的更正,但我没有足够的信誉直接修改...
最好从最广泛的访问(公共)到最窄的(私人)访问修饰符,知道当从狭义变为宽泛时,您不会失去任何可能性。
对于“受保护的”来说,这一点尤其重要,因为它经常被误解为同一包中的类也可以访问类的受保护成员(不仅是它的子类)。
我尝试完全避免包级访问(您提到的最后一次访问)。
我喜欢保持课程独立。 如果另一个类需要访问我的类中的某些东西,它应该是公开的(并且它应该通过方法而不是属性)。 否则,我觉得你已经破坏了封装,正如在抽象VS信息隐藏VS封装中所解释的。
链接地址: http://www.djcxy.com/p/24051.html