从抽象类中获取价值

时间:2017-09-20 07:55:40

标签: java inheritance abstract-class

所以我试图从类玩家那里获得Speed的价值并将其转移到Class Player1中的变量newSpeed。但是我仍然无法让玩家的速度将值传递给类Player1的newSpeed。 newspeed的值应该是2,但它仍然是0.我已经坚持了2个多小时。我真的需要帮助。

P / S:我没有包括我的Driver类,因为我相信这个问题就在这里。但是,如果你需要,我仍然可以在这里包括它们

班主任:

    public abstract class Players {


   protected static int speed=2;
   private int x;
   private int y;
   public abstract void resetLocation();

   public int getSpeed()
   {
      return speed;
   }
}

Class Player 2

public class Player2 extends Players {

    private int newSpeed=1;

    Player2() {

        super.speed=this.newSpeed;
    }


    public int getSpeed()
    {
        return newSpeed;
    }
    /**
     *
     * Function to set how many steps can the player goes.
     */
    public void setMovementSpeed(int speed)
    {
        this.newSpeed=speed; //this is for another functionality.
    }

}

主要:

public class Main {
    public static void main(String[] args)
    {

        Player2 p2 = new Player2();


        System.out.println(p2.getSpeed());
    }
}

这就是我的尝试。

1 个答案:

答案 0 :(得分:0)

如下所示更改Player2以获得预期结果

Player2() {

        newSpeed = speed;
    }

在Player2构造函数中,您将实例值设置为超级实例值,因此您必须更改条件以获得预期结果