0

我有两个类 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);
 }

我可以创建一个对象数组列表吗?顺便说一句,上面的代码给出了错误!

4

3 回答 3

4

是的,我认为您没有理由不能创建对象 A 的 ArrayList。

但是你不能按照你正在做的方式去做,你必须用一种方法去做。您正在尝试在字段声明中执行此操作。

尝试在构造函数中添加它?

所以像

public B() {
A obj=new A();
listname.add(obj);
}

或者也许我只是不明白你的问题,我完全错了。

于 2012-09-24T02:26:21.400 回答
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);
    }
}
于 2012-09-24T02:27:06.407 回答
1

如果您想在任何方法之外将项目添加到列表中,请使用实例初始化程序:

public class B extends A{
    private List<A> listOfA = new ArrayList<A>();

    {
         listOfA.add(new A());
    }

    public B(){
    }   
}
于 2012-09-24T02:29:04.950 回答