【发布时间】:2018-08-10 04:23:57
【问题描述】:
在 java 中重新创建 pokemon,但有一个小问题
由于某种原因,当将 Move 对象的相同实例分配给两个不同的 Pokemon 时,当一个 Pokemon 使用该招式时,另一个 Pokemon 招式的 PP 值也会下降 1,而它们应该相互独立.我已经做了很多自学,到目前为止,我认为在想要实现类似的目标时使用了静态变量,但我在这里没有使用任何静态变量,所以我不确定它为什么会发生。我是否需要创建同一移动的不同实例以避免这种情况,或者当移动的变量属于两个单独的“口袋妖怪”对象时,是否有更简单的方法让它们独立?我在下面为我的 Move 类包含了一些代码。
public class Move
{
private final String name;
private final String type;
private int damage;
private double accuracy;
private int powerPoints;
private int maxPowerPoints;
private boolean priority; // label for speed priority
private boolean physical; // physical label
private boolean special; // special label
}
【问题讨论】:
-
那只是move类的定义。对于您的问题,重要的是查看移动对象的实例化和使用。请创建一个minimal reproducible example。为此,请花一些时间来最小化演示您正在观察的问题所需的代码。
-
帖子下方有一个删除按钮。
-
不让我删除它,因为有回应......
标签: java class object static instance