面试题答案
一键面试1. public
- 作用:表示公共的访问权限,被
public
修饰的成员变量和成员方法可以被任何类访问,无论该类是否在同一个包内,是否为子类。 - 访问范围:
- 同一个类:可以访问。
- 同一个包内的其他类:可以访问。
- 不同包的子类:可以访问。
- 不同包的非子类:可以访问。
2. private
- 作用:表示私有的访问权限,被
private
修饰的成员变量和成员方法只能在本类内部被访问,其他任何类都无法访问,包括同一个包内的其他类、不同包的子类以及不同包的非子类。 - 访问范围:
- 同一个类:可以访问。
- 同一个包内的其他类:不可以访问。
- 不同包的子类:不可以访问。
- 不同包的非子类:不可以访问。
3. protected
- 作用:表示受保护的访问权限,被
protected
修饰的成员变量和成员方法可以被本类、同一个包内的其他类以及不同包的子类访问,但不能被不同包的非子类访问。 - 访问范围:
- 同一个类:可以访问。
- 同一个包内的其他类:可以访问。
- 不同包的子类:可以访问。
- 不同包的非子类:不可以访问。
4. 默认(包访问权限)
- 作用:当成员变量或成员方法没有显式地使用任何访问控制符修饰时,就具有默认的包访问权限。具有默认访问权限的成员只能在同一个包内的类中被访问,不同包的类(无论是否为子类)都无法访问。
- 访问范围:
- 同一个类:可以访问。
- 同一个包内的其他类:可以访问。
- 不同包的子类:不可以访问。
- 不同包的非子类:不可以访问。