类的访问控制符只有public和无修饰符(默认)两种。
类修饰符:
访问修饰符 | 同一包中的类 | 不同包中的类 |
public | 可访问 | 可访问 |
默认 | 可访问 | 不可访问 |
一个源程序中最多有一个public类,且文件名必须与类名相同。
类成员修饰符:
public(共有):被public修饰的成员变量和成员方法可以在所以类中访问。
protected(保护):被protected修饰的成员变量和成员方法可以在声明它们的类中访问,在该类中的子类访问,也可以在与该类同一个包中的类访问,但不能在位于其他包的非子类访问。
缺省:指不使用访问修饰符。不使用访问修饰符的变量和方法可以在声明它们的类中访问,也可以在与该类同一个包中的类中访问,但不能在位于其他包中的类访问。
private(私有):只能在声明它们的类中访问,而不能在其他类包括其子类中访问。
如图:
访问修饰符 | 本类 | 同一包中的类 | 其他包中的子类 | 其他包中的类 |
public | ✓ | ✓ | ✓ | ✓ |
protected | ✓ | ✓ | ✓ | ✕ |
默认(缺省) | ✓ | ✓ | ✕ | ✕ |
private | ✓ | ✕ | ✕ | ✕ |