我有两个A和B类.B扩展A.现在,在B中,我可以创建一个A对象的数组列表。
public class A {
// class fields
// class methods
}
import java.util.*;
public class B extends A {
List<Object> listname=new ArrayList<Object>();
A obj=new A();
listname.add(obj);
}
我可以创建一个对象的数组列表吗?顺便说一句,上面的代码给出了错误!
答案 0 :(得分:4)
是的,我认为没有理由不能创建对象A的ArrayList。
但是你不能按照你的方式去做,你必须在方法中做到这一点。您正尝试在字段声明中执行此操作。
尝试在构造函数中添加它吗?
类似
public B() {
A obj=new A();
listname.add(obj);
}
或许我只是不明白你的问题,我完全错了。
答案 1 :(得分:2)
错误是因为您的代码在之外。试试这个:
public class B extends A {
private static List<Object> listname = new ArrayList<Object>();
public static void main(String[] args) {
A obj = new A();
listname.add(obj);
}
}
答案 2 :(得分:1)
如果要在任何方法之外的列表中添加项目,请使用实例初始值设定项:
public class B extends A{
private List<A> listOfA = new ArrayList<A>();
{
listOfA.add(new A());
}
public B(){
}
}