我正在尝试创建一个使用相同抽象类的不同类的数组列表。
但是,我收到此错误。
<identifier> expected, illegal start of type, package list does not exist.
都在图里。
您list.add
不是在构造函数或方法中发生,而只是在您的类中浮动,这是不允许的。如果您需要它在类实例化时发生,请尝试将其放入构造函数中,或者创建一个方法以将传递给它的参数添加到您的list
.
例如
public class TestEmployee {
private ArrayList<Employee> list = new ArrayList<Employee>() {{
add(new SalariedEmployee...);
add(new SalariedEmployee...);
}}
}
其实我看到你的图片,发现你正在尝试在方法或块之外添加ArrayList中的元素。
而不是这个在方法中写这个。
public void method() {
list.add(.........);
}
列表类型应为:
ArrayList <? extends Employee> list = new ArrayList<>();
您没有将这些语句包装在任何方法中。字段的实例化list
很好,但是给它分配一些值?不。把它放在一个块或方法中。