是否可以在Java中實現組合? 如果我們創建一個類A並在類B中使用這個類的一個實例,那麼我們如何確保A不能獨立創建一個獨立的對象?組合的Java代碼
0
A
回答
2
我不認爲這是可能的。唯一類似的解決方案是將A創建爲B的私有內部類。然後除B以外的其他人都不能實例化A.
1
您可以將組合的類作爲您的容器類的內部類。
class ContainerClass{
class ContainedClass1{
}
class ContainedClass2{
}
}
這樣,他們是綁的ContainerClass
一個實例,並沒有相同的實例不能被創建。你可以讓他們私人,然後他們只能在類內創建
+0
可以請你詳細說明或給出比喻性的例子。 –
+0
@qualtar與接受的答案基本相同。 –
0
如果我正確地理解你的問題,你想要的是一個內部類。本質上是創建一個內部類,您可以在類B中寫入A類。
0
您可以創建類A作爲B的靜態內部類,並使A的構造方法保持爲私有。那麼只有B可以使用這個構造函數。
一些供參考鏈接:
0
也許你可以使用類加載器來確定的B加載或不是A類
相關問題
- 1. java代碼創建一個組合的唯一代碼
- 2. 將關聯,聚合和組合轉換爲java中的代碼?
- 3. 混合的Java 5.0和Java 6.0代碼
- 4. 合併到Java代碼
- 5. PHP jQuery代碼組合
- 6. VBA代碼從組合框
- 7. 組合代碼縮短
- 8. 嘗試組合代碼
- 9. 具有塊的獨特面板組合 - 在Java中的代碼
- 10. 如何在Gradle中使用Scala,Groovy和Java代碼的組合?
- 11. 僞代碼Java數組
- 12. 數組越界Java代碼
- 13. Twitter與Java代碼整合的錯誤?
- 14. MongoDB聚合查詢的Java代碼
- 15. 排除拒絕合作的Java代碼
- 16. JNDI的ejb在Java代碼中結合
- 17. 組合框的代碼無效
- 18. VBA有條件組合的excel代碼
- 19. 密鑰組合的Ascii代碼生成
- 20. PHP代碼爲可能的組合
- 21. 重複變異(組合)的代碼?
- 22. Java代碼,數組/矩陣組件
- 23. 組織Java遊戲的源代碼
- 24. 將組裝的IJVM代碼翻譯成Java代碼
- 25. Java RGB代碼到csv - 表聚合
- 26. MongoDB聚合查詢到java代碼
- 27. java代碼 - 合併陣列和排序
- 28. 如何結合JAVA代碼和HTML?
- 29. 如何從源代碼以及拖放GUI添加組合框Java Java NetBean
- 30. 如何將多個代碼塊組合成一個代碼塊?
所以基於這樣我得到我可以有把握地得出這樣的結論的答覆除非通過使用內部類(這太明顯了),否則不可能在Java中實現組合。因此,第三方課程永遠不能被列爲組合作品。 –
如果您有一個「無法創建獨立對象」的第三方類,您如何在構圖中使用它? –
@AmitKhanna:當然,我可以創建第三方類的對象。我只是想確認第三方課程不能用於作文(不管我是否可以作出反應)。 –