是否可以在 Java 中实现组合?如果我们创建了一个类A,并且在B类中使用了这个类的一个实例,那么如何保证A不能自己创建一个独立的对象呢?
问问题
147 次
5 回答
2
我不认为这是可能的。唯一类似的解决方案是将 A 创建为 B 的私有内部类。然后除了 B 之外没有其他人可以实例化 A。
于 2013-08-21T07:36:19.313 回答
1
您可以将组合类作为容器类的内部类。
class ContainerClass{
class ContainedClass1{
}
class ContainedClass2{
}
}
通过这种方式,它们与一个实例相关联,ContainerClass
并且如果没有相同的实例就无法创建。您可以将它们设为私有,然后它们只能在类中创建
于 2013-08-21T07:36:20.083 回答
0
如果我正确理解你的问题,你想要的是一个内部类。本质上是为了创建一个内部类,你在 B 类中编写 A 类。
于 2013-08-21T07:36:50.397 回答
0
于 2013-08-21T07:37:29.433 回答
0
也许您可以使用 classLoaders 来确定 A 类是否从 B 加载
于 2013-08-21T08:12:57.023 回答