java中,針對不同的修飾詞,類及其類中的方法、域都有不同的可見性。以下爲針對java中可見性的幾點總結。
1.java中的默認包(這個包是沒有名稱的),對於任何修飾詞來說,其中的內容只能對其包內類爲可見。
2.對於java中的非默認包中的內容,各修修飾詞及其可見性如下表:
作用域 當前類 同一package 子孫類 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不寫時默認爲friendly
對上表有幾點說明:對於default類型修飾詞,如果其子孫類與父類如果是位於同一個包內,則子孫類中的方法可以訪問無修飾詞修飾的父類方法;如果子孫類與父類是位於不同的包內,則子孫類中的方法無法訪問父類中的無修飾詞修飾的父類方法。對於protected類型修飾詞,則子孫類可以訪問父類中的protected方法,而其它類則不行。上面提到的父類都是public。