2012-09-24 177 views
0

我有两个类A和B. B扩展A.现在,在B,I可以创建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); 
} 
的对象的数组列表的数组列表

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

+2

我想你的意思'B扩展A' ... –

+0

哦,是的。 。对于错字感到抱歉! – OneMoreError

+0

你会得到什么错误? – SLaks

回答

4

是的,我认为没有理由不能创建一个对象A.

的ArrayList但你不能做到这一点,你正在做的方式,你都必须做的方法。你正试图在现场声明中做到这一点。

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

因此,像

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

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

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); 
    } 
} 
1

,如果你想将这些条目添加到列表中的任何方法以外使用的实例初始化:

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

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

    public B(){ 
    } 
} 
+2

+1仅用于回答''泛型 – Pshemo