可見性(控制對類成員的訪問)
從 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 |