Calling ( Invoking ) Methods through Reflection

In previous sections we have seen that how we can use "Reflection"
to get information related to any Method. Now in this section of the tutorial
you will come to know that we can also call methods of a class with the help of
"Reflection".
Since methods of a class either consists of arguments
or do not have any argument. So in case of no-argument method noting to worry
just simply get class of that object (as we have taken "String" in
our example) and after getting class , get that particular method and to invoke
this method we have to use invoke() method.
Here is the example code of CallingMethod :
CallingMethod.java
import java.lang.reflect.*;
public class CallingMethod {
public static void main(String[] args) {
String firstName= new String("Deepak");
String lastName=new String("Kumar");
String result = new String("");
Class cls = String.class;
Class[] parametertype = new Class[] {String.class};
Object[] arguments = new Object[] {lastName};
try {
Method concatMethod =
cls.getMethod("concat", parametertype);
result = (String)
concatMethod.invoke(firstName,arguments);
System.out.println(" Concatenated String is =>
"+result);
}catch (Exception e) {
System.out.println(e);
}
}
}
|
Output:

Download this Example
Code

|