Java中访问权限修饰符的区别
Java语言中访问权限修饰符共有四种public; protected; default; private,
它们的作用是控制类中成员的可见性。
一.public
公共权限,其可以修饰类,成员变量,成员方法,构造方法。
被public所修饰的类,在一个java源文件中有唯一性,且必须和这个java源文件的文件名相同。
被public修饰类中成员(变量和方法),在任何类中都能被调用。
通俗的说就像公园一样,每个人都可以进入。
二.protected
受保护权限,与public相比,它也可以修饰成员变量,成员方法,构造方法,但不能修饰类
被protected修饰的成员可以被同一个包的类或者不同的包中的子类调用到。
通俗的说就像带有门禁的小区一样,只有本小区的住户或住户们的亲戚朋友能够进入。
三.default
默认权限,类,成员变量,成员方法,构造方法都能使用它,使用时并不书写
默认权限亦可称为包权限,使用默认权限后只能在定义它们的类中或同包的类中被调用。
通俗的说就像住宅一样,只有同一家庭的成员可以进入。
四.private
私有权限,同Protected一样,可以修饰成员变量,构造方法,成员方法,但不能修饰类
其修饰的成员只能在定义它们的类中调用,在其他类中不能调用。
通俗的说就像个人空间一样,只有本人能够进入。
权限修饰符 | 同一个类中 | 同一个包中 | 同一个包或不同包的子类中 | 不同包无关类中 |
---|---|---|---|---|
public | √ | √ | √ | √ |
protected | √ | √ | √ | |
default | √ | √ | ||
private | √ |