我对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