java类成员有4个访问控制符,控制强弱依次为:private,default(不用任何控制符修饰),protected, public。
类成员关系疏密存在4个等级,从密切到疏远依次是,即同类,同包,子类,其他。
所以:private成员只允许在同类中访问,default允许在同包中访问,protected允许在子类中访问,public则在任何地方都可以访问。
ps:
同包和子类组合的情况有,同包子类,同包非子类,非同包子类,非同包非子类。
由于同包的关系更强,前面两种情况被划作了“同包”,非同包子类即上面说的“子类”,非同包非子类就是上面说的“其他”。
与c++比起来java多了包的概念,也就多了一层介于private和protected的访问控制。