私の質問はあまり明確ではないと思います:)ここに私の問題があります(詳細):
私はいくつかのオブジェクト(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...
しかし、100 個の「else if」ステートメントを書きたくないのです。
誰でも私ができる方法を知っていますか?
ありがとう !!!