Java基础:访问权限控制

成员权限:public、protected、package、private

public:所有的类都可以使用该成员,子类拥有该成员

protected:与该成员所在的类(记为类A)在同一个包中、虽然不在一个包中但是继承了类A的类都可以使用该成员,子类拥有该成员

package:与该成员所在的类(记为类A)在同一个包中的类都可以使用该成员,如果子类与类A位于同一个包中,则子类拥有该成员,反之则不会拥有该成员

private:只在所在的类中能够被直接使用,子类不会拥有该成员

类权限:只有public和package(此处不涉及内部类)

public:所有的其他类都可以访问该类

package:同一个包中的类可以访问该类

注意:

1.类的访问权限与其方法的访问权限没有关联,权限为package的类依旧可以在其内部定义public、protected、package、private等的成员。当然,类的权限肯定会对成员的可用性造成影响。

2.如果你不想其他的类使用某一个类的对象,只需将其构造器权限设定为private即可。这时候,如果其他类想使用该类的对象,只能通过该类所提供的其他接口来获取该类对象,而不能通过构造器new一个对象。

3.相同目录下所有不有明确package声明的文件,都被视作是该目录下默认包的一部分

原文地址:https://www.cnblogs.com/QuentinYo/p/3602573.html