import java.lang.reflect.Method;
public class Main {
Method m
= Test.
class.
getMethod("test",
new Class
<?>[] {}); Test t = new Test();
int result
= (Integer) m.
invoke(t
);
Method m2
= Test.
class.
getMethod("add",
new Class
<?>[] {int.
class,
int.
class}); int result2
= (Integer) m2.
invoke(t,
12,
34); }
}
class Test {
public int test() {
return 123;
}
public int add(int x, int y) {
return x + y;
}
}
aW1wb3J0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZDsKCnB1YmxpYyBjbGFzcyBNYWluIHsKICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgRXhjZXB0aW9uIHsKICAgIE1ldGhvZCBtID0gVGVzdC5jbGFzcy5nZXRNZXRob2QoInRlc3QiLCBuZXcgQ2xhc3M8Pz5bXSB7fSk7CiAgICBUZXN0IHQgPSBuZXcgVGVzdCgpOwogICAgaW50IHJlc3VsdCA9IChJbnRlZ2VyKSBtLmludm9rZSh0KTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbihyZXN1bHQpOwoKICAgIE1ldGhvZCBtMiA9IFRlc3QuY2xhc3MuZ2V0TWV0aG9kKCJhZGQiLCBuZXcgQ2xhc3M8Pz5bXSB7aW50LmNsYXNzLCBpbnQuY2xhc3N9KTsKICAgIGludCByZXN1bHQyID0gKEludGVnZXIpIG0yLmludm9rZSh0LCAxMiwgMzQpOwogICAgU3lzdGVtLm91dC5wcmludGxuKHJlc3VsdDIpOwogIH0KfQoKY2xhc3MgVGVzdCB7CiAgcHVibGljIGludCB0ZXN0KCkgewogICAgcmV0dXJuIDEyMzsKICB9CiAgcHVibGljIGludCBhZGQoaW50IHgsIGludCB5KSB7CiAgICByZXR1cm4geCArIHk7CiAgfQp9Cg==