Java中对类以及类中的成员变量和成员方法通过访问控制符(access specifier)进行区分控制。
总结一下他们的控制规则:
1、private是只有本类中才能访问
2、public是都能访问
3、默认(包访问权限)是只有本包内才能访问,包括本包内的子类和普通类
4、protected是只要本包内就能访问,包括本包内的子类和普通类,另外别的包内的子类也能访问,但是普通类不能访问。
所以说protected和默认(包访问权限)是很相似的,在同一个包内,它们是一样的,而在另一个包内,默认是不能访问的,而protected是只有子类能访问。