我認爲我的問題不是很清楚:)這裏是我的問題(更詳細):Java:如何從不同類實例化的不同對象中調用具有相同名稱的方法?
我有幾個對象(可以說objA,objB,objC等)不同的類(可以分別說ClassA,ClassB,ClassC ...)。這些對象A,B,C,...調用同一個對象(我們稱之爲jsonConnector,JsonConnector類的實例),然後我希望這個jsonConnector調用它的對象的updateUI()方法已經被創造了。
代碼在我ClassX(ClassA的,ClassB的,等...)類:
JsonConnector jsonConnector = new JsonConnector(this);
構造我JsonConnector類:
private Object callingObject;
public JsonConnector(Object aCallingObject) {
callingObject = aCallingObject
}
某處在我JsonConnector類,我想要做的:
aCallingObject.updateUI();
但我有一個編譯錯誤「方法updateUI()未定義類型對象」
我可以這樣做:
String callingClassName = callingObject.getClass().getSimpleName();
if(callingClassName == "ClassA")
{
((ClassA)aCallingObject).updateUI();
}
else if(callingClassName == "ClassB")
{
((ClassB)aCallingObject).updateUI();
}
else if...
但我不想要 '的if else' 語句來寫100!
有人知道我該怎麼辦?
謝謝!
感謝您的回答!它像一個魅力。如果我想要訪問一個在不同classA,classB,...對象中具有不同值的int變量,那該怎麼辦?例如,如果我想獲得updater.classIntValue? (classIntValue是類A,B ...的實例int變量)謝謝。 – 2013-05-03 13:41:42
@Regis_AG您應該可以將該方法添加到您的界面中。'updater.getImportantInteger()' – 2013-05-03 18:11:52