gpt4 book ai didi

java - 是否有任何设计模式只允许特定类新建其他特定类

转载 作者:行者123 更新时间:2023-12-02 00:43:10 26 4
gpt4 key购买 nike

不使用内部类

我只希望 A 类有权创建新的 B 类,但我不想使用内部类,因为其他类中有一个 A 类数组,我无法更改它

还有另一个类持有类 B 的数组的引用,当我将类 B 更改为 innerClass 时,由于命名空间发生更改,这会导致错误。我无法更改此类

最佳答案

如果 A 类和 B 类是同一个包中唯一的类,那么将 B 类包的构造函数设为私有(private)就可以实现您想要的效果。

控制构造的典型方法是使 B 的构造函数私有(private)并添加一个静态工厂方法,也许是一个接受 A 实例的方法?

将 B 更改为接口(interface)并让 A 创建实现 B 的内部类是另一种选择。

关于java - 是否有任何设计模式只允许特定类新建其他特定类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5746685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com