我有一個Vehicle超類,然後我有一個子類。我想要一個數組列表,它將所有子類中的對象添加到同一個列表中,但我很快就來了。Arraylist的子類
我目前在我的程序班有這個清單,但我已經將它移動了一下。
這是我在程序代碼:
ArrayList<Vehicles> Inventorie = new ArrayList<>();
public void setInventorie(Car newCar) {
Inventorie.add(newCar);
}
而且這個代碼我在汽車:
public void addCar(){
System.out.println("Make: ");
Make = scan.nextLine();
System.out.println("RegNr");
regNr = scan.nextInt();
System.out.println("Year");
year = scan.nextInt();
setValue();
Car c1 = new Car(make, regNr, Year);
Program.setInventorie(c1);
}
汽車我得到「非靜態方法「setInventorie(PROJECT1 .Vehicles)'不能從靜態上下文中引用。「
我也不得不註釋掉主要方法或編譯器無法解析符號Inventorie(數組列表的名稱)。
試圖盡我所能解釋我的問題,希望有人能幫助。 是的,我是新來的,所以它可能看起來很愚蠢,但這是我能做的最好的。
感謝
您應該研究[靜態方法和實例方法之間的差異(http://stackoverflow.com/questions/11993077/difference-between-static-methods-and-instance-方法)。你將'setInventorie()'定義爲一個實例方法,但是你將它用作一個類(靜態)方法。這在Java中是不允許的 – Oneiros
並閱讀有關Java命名約定。只有類名或常量以UpperCase開頭;變量去carInventory總是... – GhostCat