スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

動的にメソッドを実行する

java.lang.reflect.Method#invokeメソッドによって動的にメソッドを実行する。
toStringもオーバーライドして、formのプロパティを参照できるようにしている。


package meta_pg;

import java.lang.reflect.Method;

public class Sample007 {

public static void main(String[] args) throws Exception{
String methodName0 = args[0];
String methodName1 = args[2];
String value0 = args[1];
String value1 = args[3];

FooForm007 form = FooForm007.class.newInstance();

Method method = FooForm007.class.getMethod(methodName0, String.class);
method.invoke(form, value0);
System.out.println(form);

method = FooForm007.class.getMethod(methodName1, String.class);
method.invoke(form, value1);
System.out.println(form);
}

}

final class FooForm007{

private String foo;

private String bar;
//getter/setter
public String getFoo() {
return foo;
}

public void setFoo(String foo) {
this.foo = foo;
}

public String getBar() {
return bar;
}

public void setBar(String bar) {
this.bar = bar;
}
@Override
public String toString(){
return foo + " " + bar;
}
}




実行結果 (引数は setFoo test1 setBar test2)

test1 null
test1 test2

スポンサーサイト
プロフィール

tjnet777

Author:tjnet777
Solaris, VPNのサポート業務を1年

金融系SIerで業務アプリの開発、メンテを3年半

離職して大学院大学 1年生

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。