回答
包。它們對同一包中的其他類可見。
FWIW,我通常使用這些我自己的無操作@package註解,只是爲了說清楚,我知道我在做什麼 - 我不只是忘了什麼東西。儘管這是默認設置,但在高質量代碼中使用軟件包訪問的次數可能低於其他三種可能性 - 有一個很大的例外:
在某些樣式的單元測試中,希望能夠訪問方法或領域通常是私人的。提供訪問的一種方法是將它們設置爲包訪問,並將單元測試類放入同一個包(但通常位於不同的「測試」目錄樹中)。一些開發人員認爲這是不好的做法 - 一般來說,在測試中使用私有(或測試用包)方法是不好的。
在Java中有公有,保護包(默認值),以及私人能見度;從最可見到最小的順序排列。
如果您不指定它,默認情況下可見性爲包。
package mytest.myvisibility;
public class MyClass
{
public int myPublicInt; // visible to all
protected myProtectedInt; // visible to subclasses of MyClass and to other members of the mytest.myvisibility package
int myPackageInt; // visible only to other members of the mytest.myvisibility package
private int myPrivateInt; // visible only to MyClass objects.
}
這不完全真實的(見由@LukeH以上提供的Oracle的文檔)。受保護的項目在當前包中也可見。 – Kloe2378231
更新 - 詳細闡述了「包裝」的可見性,並在說明和代碼示例中使可見性順序保持一致。 –
- 1. 公共/私有變量聲明中它
- 2. 範圍的私有,保護和公共
- 3. PHP類常量 - 公共,私有還是受保護的?
- 4. 私有/公共變量Javascript
- 5. C++類(公共,私有和受保護)
- 6. python中的私有公共受保護訪問說明符
- 7. C++爲什麼要使用公共,私有或受保護的繼承?
- 8. 公共和私有變量有什麼區別
- 9. C#中的私有/公共變量
- 10. 封裝中使用公有方法的私有變量的需求是什麼?而不是直接聲明公共變量
- 11. 公共保護是什麼意思?
- 12. 爲什麼我們分別使用公共和私有變量
- 13. 公共類,但私有成員變量?
- 14. 私有或公共MSMQ
- 15. 當我沒有將公共或私有變量聲明爲成員變量時,爲什麼會出現語法錯誤?
- 16. 爲什麼要調用受保護的或私有的CSharp方法/變量?
- 17. 爲什麼java.awt.Dimension具有公共變量?
- 18. 爲什麼建議將實例變量聲明爲私有?
- 19. 什麼是更好的:與公共/保護接口或玩耍?
- 20. 爲什麼我不能將普通變量設置爲私有或公共?
- 21. VB沒有聲明變量
- 22. 在加載時聲明全局變量(或公有變量)
- 23. 私有公有變量;
- 24. 在主內部聲明私有變量
- 25. 聲明私有成員變量
- 26. 私有變量聲明誘導DI
- 27. 在C++中聲明私有變量
- 28. Segmentation Fault聲明類私有變量
- 29. 有無論如何定義公共或私人或受保護的類在PHP
- 30. 爲什麼要對公共變量進行私有變量更改?
http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html – LukeH