首先還是建議大家去看我的參考鏈接,因爲那是官方的文檔。
Ok,用兩張表格說明問題:
如上圖所示:
public 類型的,對於class 本身,以及同一包內的class,以及子類,以及所有的class 都可見。
protected 類型的,對於class 本身,以及同一包內的class,以及子類可見,但對其他範圍的類不可見。
無任何修飾符,默認是包內可見。對於子類也不可見。
private 只在當前類可見。
上面這兩張圖,描述了兩個包,package one , 以及package two ,Alpha 類 在不同修飾符下,對其他類的可見範圍。
比如第三列,Alpha 類成員對於 Alphasub 來說,publiic,protected 是可見的,但是對於沒有任何修飾符的(即包可見),以及private 的成員,都是不可見的。
參考:https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html