2012-09-24 176 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