【发布时间】:2017-09-20 07:55:40
【问题描述】:
所以我试图从类 Players 中获取 Speed 的值并将其传输到 Class Player1 中的变量 newSpeed。但是我仍然无法让 Player 的 Speed 将值传递给类 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;
}
}
类玩家 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());
}
}
这是我尝试过的。
【问题讨论】:
-
你的主要方法?请粘贴它
-
为什么
speed在类Players中是静态的?这应该是一个实例属性。 -
实例?但是不是抽象类不能实例化
-
你是如何运行你的程序的?我没有看到 public abstract void resetLocation();方法实现。
-
它会打印1,这是什么问题?
标签: java inheritance abstract-class