java有没有哪种设计模式只允许一个特定的类与另一个特定的类进行交互
不使用内部类
我只希望A类有权使用新的B类,但我不想使用内部类,因为其他类中有A类数组,我无法更改它
还有一个类持有类B数组的引用,当我将类B更改为innerClass时,随着名称空间的更改,这将导致错误。我不能改变这门课
你可以在下面搜索框中键入要查询的问题!
不使用内部类
我只希望A类有权使用新的B类,但我不想使用内部类,因为其他类中有A类数组,我无法更改它
还有一个类持有类B数组的引用,当我将类B更改为innerClass时,随着名称空间的更改,这将导致错误。我不能改变这门课
# 1 楼答案
如果A类和B类是同一个包中的唯一类,那么将B类包的构造函数设置为私有将实现您想要的
控制构造的典型方法是将B的构造函数设为私有,并添加一个静态工厂方法,可能是一个接收a的实例的方法
将B更改为接口并创建实现B的内部类是另一种选择