我有一個名爲Interpreter的類。它由幾個類繼承,包括一個名爲LoadStep的類。Java對象繼承問題列表
我創建的對象的列表:以這種方式加入
public static List<Interpreter> fileActions = new ArrayList<Interpreter>();
對象:
if (actionName.equals("LOAD")) {
LoadStep loadAction = new LoadStep();
fileActions.add(loadAction);
}
當試圖訪問我的對象,並調用它們的方法,我無法訪問子類方法。我期待着,因爲當我嘗試getClass()來查看對象類時,我得到了子類名。
for (int i = lineNumber; i < Test.fileActions.size(); i++) {
System.out.println(Test.fileActions.get(i).getClass());
if (Test.fileActions.get(i) instanceof LoadStep) {
LoadStep newAction = Test.fileActions.get(i);
myMemoryAddress = Test.fileActions.get(i).getMemoryAddress(); //This line gives me Cannot Find Symbol, as getMemoryAddress is LoadStep's method, and not Interpreter
}
}
print語句給我:
class test.LoadStep
我想輸入一個最佳答案來接受。 – user25976
3個upvotes怎麼樣?記住,儘管你只能接受一個答案,但你仍然可以得到所有幫助你的答案! –