有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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不会初始化或创建 正因为如此,每当我试图用我创造的任何一辆卡车做点什么的时候,我总是得到最后一辆卡车

我错过什么了吗

i'm getting access to a list of trucks and accessing to a truck by index


共 (0) 个答案