我對Java相當陌生,我有一個類ObjectType的linkedList,我有不同的ObjectType的子類被添加到linkedList,當我拉出對象時,我被迫將它傳遞給一個類型的ObjectType,並且似乎失去了子類的繼承屬性....任何人都可以爲我闡明一些事情嗎?Java LinkedList對象繼承覆蓋
//LIST STORING OBJECT
public class MyObjectList{
private LinkedList<ObjectType> queue = new LinkedList<ObjectType>();
public MyObjectList()
{
queue = new LinkedList<ObjectType>();
}
public ObjectType addObject(ObjectType myObject)
{
queue.add(myObject);
return myObject;
}
}
//MY BASIC OBJECT
public abstract class ObjectType {
public int objectWidth;
public ObjectType() {}
}
//MY EXTENDED OBJECT BOX
public abstract class Box extends ObjectType {
public int objectWidth = 50;
public ObjectType() {}
}
//MY EXTENDED OBJECT PLATE
public abstract class Box extends ObjectType {
public int objectWidth = 25;
public Box() {}
}
// OK所以現在,如果我的箱子負載添加到我的箱子名單都會有自己objectWidth設置爲零!
mList = new MyObjectList;
for (int i=0;i<10;i++)
{
mObject = mList.addObject(new Box);
}
重要的是要記住,我的名單應該是由不同的對象類型,最終使baseObject需要保持,因爲它是非常重要的。如果可能的話!
你不能添加一個'new Box()'它是抽象的。你能提供一個編譯和運行的例子嗎? – 2013-05-11 16:07:46