gpt4 book ai didi

java - 在 Java 中根据另一个对象的状态创建一个对象

转载 作者:搜寻专家 更新时间:2023-10-31 08:18:30 24 4
gpt4 key购买 nike

假设您有一个名为 Explosion 的类,如果没有来自另一个类实例的一些信息,创建它的实例是没有意义的。构造函数未公开。

这样是不是更好:

// both classes are in the same package  
Explosion e;
Collision c = new Collision()
// do some stuff with collision
e = c.createExplosion()

或者 Explosion 有一个静态方法来创建实例并传入一个 Collision 对象作为参数是否更好:

Explosion e  
Collision c = new Collision()
// do some stuff with collision
e = Explosion.createExplosion(c)

当您是这两个类的作者时。

最佳答案

为什么构造函数不公开?对我来说,Explosion 拥有一个将 Collision 引用作为参数的构造函数似乎是明智的。

这样你就可以:

Explosion e;
Collision c = new Collision();
// do some stuff with collision
e = new Explosion(c);

关于java - 在 Java 中根据另一个对象的状态创建一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2123689/

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