7

重複の可能性:
JavaおよびCで実行時に「string」という名前のメソッドを呼び出す

関数を呼び出せるようにする必要がありますが、関数名は変数に格納されています。これは可能です。例えば:

public void foo ()
{
     //code here
}

public void bar ()
{
     //code here
}

String functionName = "foo";

//functionNameとは何かに基づいて関数を呼び出す必要があります

Anyhelpは素晴らしいでしょう、ありがとう

4

4 に答える 4

5

はい、できます。リフレクションを使用します。ただし、Effective Java 2nd Editionのアイテム53:リフレクションよりもインターフェースを優先することも検討してください。可能であれば、代わりにインターフェースを使用してください。一般的なアプリケーションコードでリフレクションが本当に必要になることはめったにありません。

も参照してください

関連する質問

于 2010-06-14T15:30:44.153 に答える
3

リフレクションで簡単にできます。ここここのいくつかの例。

コードの主な部分は

String aMethod = "myMethod";

Object iClass = thisClass.newInstance();
// get the method
Method thisMethod = thisClass.getDeclaredMethod(aMethod, params);
// call the method
thisMethod.invoke(iClass, paramsObj);
于 2010-06-14T15:30:23.810 に答える
1

反射を使用します。

これが例です

于 2010-06-14T15:30:10.877 に答える
-1

リフレクションAPIを使用。このようなもの:

    Method method = getClass().getDeclaredMethod(functionName);
    method.invoke(this);
于 2010-06-14T15:31:00.207 に答える