Java:访问控制符
访问控制符
1.软件中的某些属性和方法出于程序安全考虑不允许被其它类操作和调用,这就需要使用Java中的访问权限修饰符,Java中的访问权限修饰符有4种:
2.Java中的访问权限修饰符可以修饰成员变量、构造方法、普通方法。
3.全面研究某个访问权限的使用范围需要从以下方法考虑:
4.访问控制符使用范围:
- public是最大的访问权限修饰符,其修饰的成员变量、构造方法和普通方法可在任何一个类中被操作或使用;
- protected修饰的成员变量、构造方法和普通方法可以在其定义类中、与定义类同包的其它类(可以使子类)中和与定义类不同包但是其子类的类中使用;
- 默认(友好的)修饰的成员变量、构造方法和普通方法可以在其定义类中和与定义类同包的其它类(可以使子类)中使用;
- private是最小的访问权限控制符,其修饰的成员变量、构造方法和普通方法只能在定义它们的类中被操作或使用;
访问控制修饰符 |
本类 |
同包(无论是否继承) |
不同包的子类中 |
不同包的非子类中 |
public |
√ |
√ |
√ |
√ |
protected |
√ |
√ |
√ |
|
友好的 |
√ |
√ |
|
|
private |
√ |
|
|
|
注:如果protected修饰的属性和方法均为非静态的,则只能通过子类实例化对象调用其继承过来的属性和方法,而不能使用父类实例化的对象去调用;如果protected修饰的属性和方法均为静态的,则子类可以通过类名直接调用。