Я хочу создать список классов с разными атрибутами, но я столкнулся с проблемой: когда я добавляю новый, все остальные изменяются (код действительно большой поэтому я отправляю только маленький образец)Java составить список классов с несколькими объектами
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 возвращает правильное значение (2.0) для всех б создала, но каждый раз, когда я создаю новые б всех остановок другого б двигается и новый б двигается быстрее предыдущий. Функция перемещения, сделанная моим учителем, и подтверждена, что она работает правильно. Я подозреваю, что позиция работает неправильно, и вместо перемещения изображений 2 пикселя он перемещается только один раз.
В вашем коде есть острый «статический-итис». Избавьтесь от большинства ваших статических модификаторов, чтобы пациент не погиб. –
удалите статическую информацию из полей – user1121883
Также рассмотрите возможность очистки образца кода. Большинство из этих полей не имеют отношения к вашей проблеме (или, вернее, являются дублирующими проявлениями одной и той же основной проблемы), и это вовсе не отступы. – millimoose