eclipse在创建子类时,不会创建超类中的一个变量(JAVA)
我目前正在努力解决一个奇怪的问题。。
我正在从一个名为StandardTruck
的子类创建一个实例,该子类继承自一个超类Truck
。
来自Truck
类和StandardTruck
子类的所有变量都被初始化和创建,除了一个-truckID
变量truckID
应该在每个Truck实例构造之后增加整数,所以我认为它应该是静态变量
public abstract class Truck {
static private int truckID = 2000;
private String licensePlate;
private String truckModel;
private boolean available= true;
private int timeLeft;
private ArrayList<Package> packages = new ArrayList<Package>();
//Constructors
public Truck() {
this.licensePlate = randomNumber(100,999) + "-" + randomNumber(10,99) + "-" + randomNumber(100,999);
this.truckModel= "M"+ randomNumber(0,4);
truckID++;
}
public Truck(String licensePlate, String truckModel) {
this.licensePlate=licensePlate;
this.truckModel=truckModel;
truckID++;
}
public class StandardTruck extends Truck{
private int maxWeight;
private Branch destination;
//Constructors
public StandardTruck() {
super();
maxWeight = randomNumber(200, 400);
System.out.println("Creating "+ this.toString());
}
'''
public StandardTruck(String licensePlate,String truckModel,int maxWeight) {
super(licensePlate, truckModel);
this.maxWeight= maxWeight;
System.out.println("Creating "+ this.toString());
}
因此,在创建StandardTruck实例或从Truck继承的任何其他实例之后,变量truckID
不会初始化或创建
正因为如此,每当我试图用我创造的任何一辆卡车做点什么的时候,我总是得到最后一辆卡车
我错过什么了吗
共 (0) 个答案