我想创建一个具有不同属性的类列表,但我遇到了一个问题:当我添加一个新的类时,所有其他类都被修改了。(代码真的很大,所以我只发布一个小示例)
public abstract class A{
public static Point Position;
public static int LifePoints;
public static int range;
public static int atackValue;
public static double movementSpeed;
public double getMovementSpeed() {
return movementSpeed;
}
public static void setMovementSpeed(double movement) {//this n funciona
movementSpeed = movement;
}
(...)to make the topic shorter i only show the movement part but class A contains all getters and setters for all movement,position,range,life points and attack value
}
public class B extends A{
public static Point Position;
public static int LifePoints=10000;
public static int range=50;
public static int atackValue=100;
public static double movementSpeed=2;
public A(Point startPoint){
setMovementSpeed(movementSpeed);
setAtackValue(atackValue);
setRange(range);
setLifePoints(LifePoints);
setPosition(startPoint);
}
public class createB(){
(...)
public void create(){
private List<B> list = new ArrayList<B>();
B b = new B(startpoint);
list.add(b);
}
(...)
for(int x=0;x!=list.length();x++){
move(list.get(x));
system.out.println(list.get(x).getMovementSpeed());
}
println 为所有创建的 b 返回正确的值 (2.0),但是每次我创建一个新 b 时,所有其他 b 都停止移动,并且新 b 的移动速度比前一个更快。我的老师制作的移动功能,已确认可以正常工作。我怀疑这个位置工作不正常,而不是将图片移动 2 个像素,它只移动了 X 次。