我想创建一个类的实例,该类中具有一个类成员数组,该数组的成员是在初始化时定义长度的。我编写的代码不包含任何预编译错误,但运行后返回nullPointerException。我希望能够通过键入storeA.products [productnumber]。(产品变量)来访问storeA类的产品,这可能吗?
package tinc2;
public class FirstProgram {
public static void main(String[] args) {
store storeA = new store();
storeA.name = "Walmart";
storeA.products = new store.product[3];
storeA.products[0].name = "Horses";
System.out.println(storeA.products[0].name);
}
public static class store{
String name;
product products[];
static class product{
String name;
int quantity;
double price;
}
}
}
最佳答案
去做
public static void main(String[] args) {
store storeA = new store();
storeA.name = "Walmart";
storeA.products = new store.product[3];
storeA.products[0] = new store.product();
storeA.products[0].name = "Horses";
System.out.println(storeA.products[0].name);
}
代替。
此外,您应该将这些类放在单独的文件中。
您应遵循Java中的命名约定,例如
Store
代替store
。您应该使用getter和setter。
如果可能,我会避免使用
static
。