public
被相同包的子类访问 √
被相同包的子类继承 √
被相同包的非子类访问 √
被不同包的子类访问 √
被不同包的子类继承 √
被不同包的非子类访问 √
默认(包权限)
在定义类,接口,成员变量,成员方法时未指定访问控制权限,他们就被指定为默认。
默认的权限只能被本类和同一个包中的其他类,方法,接口引用。
拒绝一切外包访问
protected
被相同包的子类访问 √
被相同包的子类继承 √
被相同包的非子类访问 √
被不同包的子类访问 ×
被不同包的子类继承 √
被不同包的非子类访问 ×
private
只能被该类自身访问和修改。