Java中类的访问权限修饰符有private、default、protected、public,以下来分别介绍:
(1)私有权限(private)
private可以修饰数据成员、构造方法及方法成员,不可以修饰类。被他修饰的成员,只能在定义他们的类中使用,在其他类中不能使用;
(2)默认权限(default)
类、方法、成员都可以使用默认权限,即不被private、protected,public修饰。默认权限同包权限,同包权限下的元素只能在定义它们的类中以及同包的类中被调用;
(3)受保护权限(protected)
protected可以修饰数据成员、构造方法和方法成员,不可以修饰类。被protected修饰的成员能在它们的类中以及同包的类中被调用。如果有不同包的类想要调用它们,那这个类必须是他的子类;
(4)公共权限(public)
public可以修饰类、数据成员、构造方法及方法成员。被public修饰的成员,可以在任何一个类中被调用,不管同包或者不同包;
范围 | private | default | protected | public |
---|---|---|---|---|
同一类 | √ | √ | √ | √ |
同一包中的类 | × | √ | √ | √ |
同一包中的类、不同包中的子类 | × | × | √ | √ |
所有 | × | × | × | √ |