【发布时间】:2013-08-23 11:16:08
【问题描述】:
是否可以在 Java 中实现组合? 如果我们创建了一个类A,并且在B类中使用了这个类的一个实例,那么如何保证A不能自己创建一个独立的对象呢?
【问题讨论】:
-
所以根据我得到的回复,我可以安全地得出结论,除了使用内部类(这太明显了),不可能在 Java 中实现组合。因此,第三方类永远不能作为组合包含在内。
-
如果你有一个第三方类你“不能创建一个独立的对象”,你怎么能在合成中使用它?
-
@AmitKhanna:我当然可以创建第三方类的对象。我只是想确认第三方类永远不能用于组合(我是否可以将其作为对象)。
-
为什么回复的意思是不能用Java实现组合?即使可以在 B 之外创建 A 类的实例,这如何违反组合?
-
聚合 - 引用的对象可以独立存在,组合 - 对象不能存在于其父对象之外。例如。你可以把眼镜放在一起,由两只手组成。
标签: java inheritance composition