所以我有以下数组列表:
ArrayList <Employee> employees = new ArrayList<>();
在我的主要方法中,我创建了它们的实例
public static void main(String[] args){
Employee test = new Manager("john doe", 1000); //manager is subclass
}
我有一个方法检查员工对象是否已经存在,equals方法在子类中定义
public void addEmployee(Employee newEmployee){
for (int i = 0; i < employees.size(); i++){
if(newEmployee.equals(employees.get(i))){
.........
}
}
}
以上更多,但你明白了。我需要引用ArrayList,但是如果我在main方法之外实例化数组列表,我就不能向它添加任何变量,得到错误&#34;非静态方法不能从静态上下文引用#34 ;这是有道理的,但我不知道如何使用该方法,因为我不能在main方法中声明它。
答案 0 :(得分:2)
除非您想创建一个用于管理员工的课程,否则您希望使您的方法和收集静态
static ArrayList <Employee> employees = new ArrayList<>();
public static void addEmployee(Employee newEmployee){
for (int i = 0; i < employees.size(); i++){
if(newEmployee.equals(employees.get(i))){
.........
}
}
}
@muued有一点意见。 Java中还有其他数据结构,然后是ArrayList。如果有疑问,我会看一下: