可见性(控制对类成员的访问)

Java 教程

访问级别修饰符确定其他类是否可以使用特定字段或调用特定方法。访问控制有两个级别:

  • 在顶级 -public,或 package-private (没有显式修饰符)。
  • 在成员级别 -publicprivateprotectedpackage-private (无显式修饰符)。

可以使用修饰符 public 声明一个类,在这种情况下,该类对于所有类都可见。如果一个类没有修饰符(默认值,也称为包私有 ),则它只在其自己的包中可见。

在成员级别,你也可以使用 public 修饰符或不使用修饰符( package-private ),就像使用顶级类一样,并且具有相同的含义。对于成员,还有两个额外的访问修饰符:privateprotectedprivate 修饰符指定只能在自己的类中访问该成员。protected 修饰符指定只能在其自己的包中访问该成员(与 package-private 一样 ),此外,还可以在另一个包中通过其类的子类访问该成员。

下表显示了每个修饰符允许的成员访问权限。

访问级别:

修改 子类 世界
public Y Y Y Y
protected Y Y Y N
no modifier Y Y N N
private Y N N N