可見性(控制對類成員的訪問)
從 Java 教程 :
訪問級別修飾符確定其他類是否可以使用特定欄位或呼叫特定方法。訪問控制有兩個級別:
- 在頂級 -public,或 package-private (沒有顯式修飾符)。
- 在成員級別 -public,private,protected或 package-private (無顯式修飾符)。
可以使用修飾符 public 宣告一個類,在這種情況下,該類對於所有類都可見。如果一個類沒有修飾符(預設值,也稱為包私有 ),則它只在其自己的包中可見。
在成員級別,你也可以使用 public 修飾符或不使用修飾符( package-private ),就像使用頂級類一樣,並且具有相同的含義。對於成員,還有兩個額外的訪問修飾符:private 和 protected。private 修飾符指定只能在自己的類中訪問該成員。protected 修飾符指定只能在其自己的包中訪問該成員(與 package-private 一樣 ),此外,還可以在另一個包中通過其類的子類訪問該成員。
下表顯示了每個修飾符允許的成員訪問許可權。
訪問級別:
| 修改 | 類 | 包 | 子類 | 世界 | 
|---|---|---|---|---|
| public | Y | Y | Y | Y | 
| protected | Y | Y | Y | N | 
| no modifier | Y | Y | N | N | 
| private | Y | N | N | N |