How do I call a method using reflection?
Author: Deron Eriksson
Description: This Java tutorial describes how to use invoke a method using reflection.
Tutorial created using:
Windows XP || JDK 1.5.0_09 || Eclipse Web Tools Platform 1.5.4
(Continued from page 1) If we execute ClassMethodTest, we see the following result in the console: getString1 returned: val1 calling setString1 with 'val2' getString1 returned: val2 As you can see, the Method class's invoke method allowed us to successfully call the getString1() and setString1() methods. You can only call a Class object's getMethod() on public methods. If you try to call getMethod using a private or protected method, like: Method gs1Method = tClass.getMethod("getProtectedDude", new Class[] {}); You will receive a 'NoSuchMethodException' like the following: Exception in thread "main" java.lang.NoSuchMethodException: test.Testing.getProtectedDude() at java.lang.Class.getMethod(Class.java:1581) at test.ClassMethodTest.main(ClassMethodTest.java:12) Another thing to note is that if you call a invoke() on a static method, the first parameter of the invoke() call should be null since we are invoking the call on the class, not on a particular object of the class. Related Tutorials:
|