我對java和編程非常不熟練,儘管我正在嘗試做我朋友的家庭練習之一! :P如何在java中的類中聲明一個ArrayList對象?
該練習包括創建一個系統,該系統顯示商店中可用產品的列表,讓用戶能夠選擇他/她想要的內容,要求確認,然後添加到購物車以供稍後結帳。
問題是,我試圖爲產品製作一個類模板,然後將它們放在類「產品」類的一個ArrayList中。如果我聲明所述列表並在函數內添加所需的所有對象,但我無法在類中聲明它(如同它是一個變量類型),則可以正常工作。
下面是部分代碼:
package system;
class Product {
public int id;
public String name;
public double price;
public Product(int startId, String startName, double startPrice){
startId = id;
startName = name;
startPrice = price;
}
public int getId(){
return id;
}
public double getPrice(){
return price;
}
public String getName(){
return name;
}
}
//Main Class (The one that has the 'main()' function)
public class System {
ArrayList<Product> list = new ArrayList<Product>();
list.add(new Product(0, "Coca-Cola", 3.00));
list.add(new Product(1, "Mountain Dew", 2.00));
list.add(new Product(2, "Mango Smoothie", 4.50));
list.add(new Product(3,"Orange Juice", 5.00));
list.add(new Product(4, "Dr. Pepper", 4.50));
list.add(new Product(5, "Sandwich", 3.00));
list.add(new Product(6, "Hamburger", 3.50));
list.add(new Product(7, "Light Sandwich", 4.00));
//Yadda Yadda Yadda
}
這樣做的目的是爲了能夠通過簡單地輸入其ID,這等同於它的ArrayList中的位置來訪問有問題的產品對象。
例如爲:
System.out.println(list[0].getName); //Prints "Coca-Cola"
這種策略使得它更容易訪問的每個產品,並進行模塊化更好,讓我在未來增加的變化。
唯一的問題是,正如我所說的,我不能在課程開始時聲明它。它只能在一個方法內部聲明,並且只能在所述方法中使用,顯然。
關於我如何進行的任何建議?我試着研究一下,但找不到/理解任何合適的答案。
此外,如何使此代碼更整潔的任何提示,非常感謝。
謝謝!
提示:使用接口代替實現==列表代替ArrayList :) – bartektartanus