我想知道是否有任何區別創建一個新的文件中的類和聲明一個裏面的另一個類,它仍然能夠從類的外部引用?我想知道,因爲這會幫助我的工作更有條理。創建一個類並在另一個類中聲明一個類是否有區別?
回答
Here是嵌套類的完整文檔。
如果你想知道何時使用內部類(從link):使用嵌套類
令人信服的理由包括以下內容:
它的邏輯分組類的方式,僅用於一個 的地方:如果一個類只對另一個類有用,那麼邏輯上它就是 ,將它嵌入到該類中,並將它們保持在一起。嵌套0這樣的「幫助類」使他們的包更加簡化。
它增加封裝:考慮兩個頂級類別A和B, 其中B需要訪問A的成員,否則將被聲明爲 私有。通過將B類隱藏在A類中,A的成員可以被宣佈爲 私有,B可以訪問它們。另外,B本身可以從外部隱藏 。
它可以導致更易讀和可維護的代碼:在頂級類中嵌套小型 類將代碼放置在更接近於使用 的地方。
是的,你可以從其他類訪問你的內部類。 (閱讀約controlling access to members of a class)。
Here你可以找到一個關於如何從類的「外部」訪問內部類的例子。
感謝您的解釋和文檔!這沒有被錯誤標記,是嗎?由於它不是專門關於代碼的。 –
我認爲標籤是正確的,這是一個java問題。 @zachwirta –
- 1. 在包對象中聲明一個類與在聲明一個類之間是否有任何實質區別?
- 2. 在子類上聲明一個類別
- 3. 用'def'聲明一個變量並用一個已知類型聲明變量是否有區別?
- 4. 聲明符合目標c協議與一個類別,並與另一類別
- 5. 正向聲明一個類並聲明一個類的變量有什麼區別?
- 6. 聲明一個類的對象到另一個類
- 7. 聲明一個擴展另一個多態類的多態類
- 8. 是否可以在XAML中聲明一個類型別名?
- 9. 如何在另一個類中創建一個類的實例
- 10. 在另一個類中創建一個類的數組
- 11. 創建一個具有另一個類的對象的類
- 12. C#創建另一個類
- 13. jQuery - 你可以檢查一個類是否有另一個類?
- 14. 是否有可能在C++中的另一個類的構造函數中聲明一個類的對象?
- 15. 我是否必須爲類的所有私有方法聲明一個類別?
- 16. 找出一個類是否是另一個類的一個子類(Objective-C)
- 17. 註冊一個類別的所有聲明的子類在C#
- 18. 訪問目的是在一個類中創建到另一個
- 19. 是否有可能在Java中聲明一個類或另一個類的對象?
- 20. 當在一個類中聲明一個新的數組時,內存分配是否有區別?
- 21. 運行另一個類的Nunit聲明
- 22. 從另一個類創建類
- 23. 在一個類中聲明一個靜態方法並將它用作另一個類的方法
- 24. 聲明一個類/結構
- 25. 聲明一個JavaScript類
- 26. 聲明和一個類塊
- 27. 如何聲明另一個微調ID在一個類
- 28. 將一個類的多個css規則合併到一個類聲明中?
- 29. 將一個類別的值綁定到另一個類別的另一個值
- 30. 創建一個別名到另一個類型
是的。檢查[嵌套類](https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html) – sam
自Q首次發佈以來,標記發生了顯着變化 – Plutonix