1 回答

TA貢獻1868條經驗 獲得超4個贊
我想在我的抽象類中引用任何潛在的子類,如參數,以創建通用函數,例如在不重載的情況下創建子類的新實例。
abstract class Fictional
{
public static ArrayList<SUBCLASS_PARAM> subclassArray = new ArrayList<SUBCLASS_PARAM>();
int i;
private Fictional(int i) //All subclasses have to implement this constructor
{
this.i = i;
//body
}
public static SUBCLASS_PARAM loadFromFile() //I wouldn't have to override this method
{
SUBCLASS_PARAM subclass = new SUBCLASS_PARAM(1); //it's not possible to make new instance of abstract class, but it would be possible with any other subclass
subclassList.put(subclass);
return subclass;
}
}
class Real extends Fictional
{
//nothing here
}
class main
{
Real r = Real.loadFromFile()
}
有什么辦法可以做這樣的事情嗎?
添加回答
舉報