我有一堂课如下:
package com.aci.golfgames;
import java.util.ArrayList;
public class Course {
private String name;
private int noOfTees;
private ArrayList<Tee> tees;
public Course(){
// Build a course with some tees.
name = "ABC Country Club";
ArrayList<Tee> tees = new ArrayList<Tee>();
tees.add(new Tee("White", 126, 70.4));
tees.add(new Tee("Red", 128, 75.2));
tees.add(new Tee("Blue", 126, 71.4));
noOfTees = 3;
}
public String getCourseName(){
return this.name;
}
public ArrayList<Tee> getTees(){
return tees;
}
public int getNoOfTees(){
return this.noOfTees;
}
}
当我尝试实例化 ArrayList 字段tees时,似乎我正在创建一个与 Object Course中声明为字段的 ArrayList 不同的 ArrayList 。IOW,this.tees与tees不同。如果我删除该行:
ArrayList<Tee> tees = new ArrayList<Tee>();
我在tees.add(...)运行时收到空指针异常,我假设是因为 ArrayList 尚未实例化。
这里有什么问题?如何实例化 ArrayList?注意:tees ArrayList 中的条目数会因对象而异,因此 ArrayList 而不仅仅是一个数组。这里的代码只是定义一门课程进行测试。
谢谢。