package lecture.etc;
import java.lang.reflect.Method;
import jp.avaj.lib.debug.L;
/** リフレクション - メソッドの実行 Java */
class ExecMethod {
public static void main(String[] args) {
try {
Class myClass = MyClass.class;
L.p("-- setStr(\"abc\")の実行");
Class[] params = new Class[]{String.class};
Method method = myClass.getMethod("setStr",params);
MyClass obj = new MyClass();
Object[] vals = new Object[]{"abc"};
method.invoke(obj, vals);
//
L.p("-- getStr()の実行");
params = new Class[]{};
vals = new Object[]{};
method = myClass.getMethod("getStr",params);
String result = (String)method.invoke(obj, vals);
L.p("result="+result);
//
L.p("-- static メソッドの実行");
params = new Class[]{};
vals = new Object[]{};
method = myClass.getMethod("method",params);
vals = new Object[]{};
method.invoke(null, vals);
}
catch(Exception ex) {
ex.printStackTrace();
}
}
static class MyClass {
private String str;
public void setStr(String str) {
this.str = str;
}
public String getStr() {
return this.str;
}
public static void method() {
L.p("static method");
}
}
}
//---------------------------------------------------
//・目次 Javaエトセトラ
// http://blogs.yahoo.co.jp/artery2020/40576157.html
//・目次 - Java入門
// http://blogs.yahoo.co.jp/artery2020/39975776.html
//・目次 - ビジネスパーソンの常識と非常識
// http://blogs.yahoo.co.jp/artery2020/39728331.html
//・目次 - 論理・発想・思考についての考察と鍛え方
// http://blogs.yahoo.co.jp/artery2020/39657784.html
//---------------------------------------------------
import java.lang.reflect.Method;
import jp.avaj.lib.debug.L;
/** リフレクション - メソッドの実行 Java */
class ExecMethod {
public static void main(String[] args) {
try {
Class myClass = MyClass.class;
L.p("-- setStr(\"abc\")の実行");
Class[] params = new Class[]{String.class};
Method method = myClass.getMethod("setStr",params);
MyClass obj = new MyClass();
Object[] vals = new Object[]{"abc"};
method.invoke(obj, vals);
//
L.p("-- getStr()の実行");
params = new Class[]{};
vals = new Object[]{};
method = myClass.getMethod("getStr",params);
String result = (String)method.invoke(obj, vals);
L.p("result="+result);
//
L.p("-- static メソッドの実行");
params = new Class[]{};
vals = new Object[]{};
method = myClass.getMethod("method",params);
vals = new Object[]{};
method.invoke(null, vals);
}
catch(Exception ex) {
ex.printStackTrace();
}
}
static class MyClass {
private String str;
public void setStr(String str) {
this.str = str;
}
public String getStr() {
return this.str;
}
public static void method() {
L.p("static method");
}
}
}
//---------------------------------------------------
//・目次 Javaエトセトラ
// http://blogs.yahoo.co.jp/artery2020/40576157.html
//・目次 - Java入門
// http://blogs.yahoo.co.jp/artery2020/39975776.html
//・目次 - ビジネスパーソンの常識と非常識
// http://blogs.yahoo.co.jp/artery2020/39728331.html
//・目次 - 論理・発想・思考についての考察と鍛え方
// http://blogs.yahoo.co.jp/artery2020/39657784.html
//---------------------------------------------------