私は車両の作成と比較を行う「レーシングシミュレータ」を作ろうとしています。車両が定義されているクラスと、速度が比較されるメインクラスが含まれます。 Vehicleのインスタンスを2つ作成し、両方のインスタンスでgetSpeedメソッドを使用すると、速度は同じになります。どんな考え?Javaでクラスのインスタンスを作成する際の問題
メイン:
public class Main {
static Vehicle bike, jeep;
//static Race race;
public static void main(String args[]) {
bike = new Vehicle(4000, 20, 30.5, "bike");
jeep = new Vehicle(3000, 12, 9.8, "Jeep");
//race = new Race(bike, jeep, 0);
System.out.println("Bike: " + bike.getTopSpeed() + " Jeep: " + jeep.getTopSpeed());
}
}
ビヒクル:
public class Vehicle {
static int _weight, _topSpeed;
static double _zeroToSixty;
static String _vehicleName;
public Vehicle(int weight, int topSpeed, double zeroToSixty, String vehicleName) {
_weight = weight;
_topSpeed = topSpeed;
_zeroToSixty = zeroToSixty;
_vehicleName = vehicleName;
}
public static void setVehicleName(String name) {
_vehicleName = name;
}
public static void setWeight(int weight) {
_weight = weight;
}
public static void setTopSpeed(int topSpeed) {
_weight = topSpeed;
}
public static void setZeroToSixty(double zeroToSixty) {
_zeroToSixty = zeroToSixty;
}
public static String getVehicleName() {
return _vehicleName;
}
public static int getWeight() {
return _weight;
}
public static int getTopSpeed() {
return _topSpeed;
}
public static double getZeroToSixty() {
return _zeroToSixty;
}
}
メインの出力である:
"バイク:12ジープ:12"
「_topSpeed」は「静的」なので、問題です。変数宣言から 'static'修飾子を削除してください。 ClassLoaderごとに –