Java的权限访问控制,主要是通过 package机制 和几个相关的关键词来实现(public,protected,{包访问权限},private)。包访问权限是默认的访问权限,没有关键词表示。
类成员的访问权限
访问权限的大小依次为:
public > protected > 包访问权限 > private
更详细的说明见下面的表格:
权限\访问范围 | 同一个类 | 同一个包 | 子类 | 任何地方 |
---|---|---|---|---|
public | Yes | Yes | Yes | Yes |
protected | Yes | Yes | Yes | No |
包访问权限(默认) | Yes | Yes | No | No |
private | Yes | No | No | No |
类的访问权限
- 如果一个类对客户是可使用的,就要定义为public类。定义方式为:
public class Student {
} - 如果一个类没有用public修饰,则该类是package内可以访问的
- 类不可以是private的,也不可以是protected的。如果一个类不希望其他类访问,可以讲构造函数定义为 private 的(有个例外,类内的static方法可以使用该private狗嗷函数)