可見性(控制對類成員的訪問)

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