【发布时间】:2013-10-31 21:40:12
【问题描述】:
我是 JAVA 新手,我面临初学者的问题,我知道 :-P
IN PLAIN ENGLISH => 我正在尝试创建对象的 ArrayList,并在需要时在数组中添加新对象。
好的,这是我的代码的精简版
package ACP.Employee; //created package
import java.util.ArrayList; //imported arraylist class
import ACP.Employee.EmployeeClass; //imported employee class of same package
public class ClientClass
{
ArrayList<EmployeeClass> empArray = new ArrayList<EmployeeClass>(); //created a new Array List
public static void main (String[] args)
{
int objcount = 0; //variable to store objct count
empArray.add(objcount, EmployeeClass obj);
}
}
IDE (Eclipse) 在 empArray.add 行
上给了我以下错误- 无法对非静态 empArray 进行静态引用
- EmployeeClass 无法解析为变量
- 令牌 obj 语法错误,删除此令牌。
我也尝试用以下语法替换该行,
empArray.add(new EmployeeClass());
但是以下错误仍然存在。
- 无法对非静态 empArray 进行静态引用
请帮帮忙,我看过 ArrayList 的 add() 方法的 API Spec,如下:::
void add(int index, Object element) ==>> 在列表中指定位置索引处插入指定元素 boolean add(Object o) ==>> 将指定元素附加到此列表的末尾。 源 (http://www.tutorialspoint.com/java/java_arraylist_class.htm)
【问题讨论】:
-
在
empArray变量的声明前面放一个static。像这样:static ArrayList<EmployeeClass> empArray = new ... -
empArray 是类的成员,main 是静态成员,所以,这是禁止的
-
静态方法不能访问非静态成员。
-
好的,成功了。好的。!但我仍然对这里的概念感到困惑。对不起,伙计们,请不要生气:-P