This example demonstrate using reflection to invoke methods of a class object. Using reflection we can call method of an object using the given string name of the method. When using this method we need to catch for the NoSuchMethodException
, IllegalAccessException
and InvocationTargetException
.
package org.kodejava.lang.reflect;
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
public class InvokingMethod {
public static void main(String[] args) {
InvokingMethod object = new InvokingMethod();
Class<? extends InvokingMethod> clazz = object.getClass();
try {
// Invoking the add(int, int) method
Method method = clazz.getMethod("add", int.class, int.class);
Object result = method.invoke(object, 10, 10);
System.out.println("Result = " + result);
// Invoking the multiply(int, int) method
method = clazz.getMethod("multiply", int.class, int.class);
result = method.invoke(object, 10, 10);
System.out.println("Result = " + result);
} catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
}
public int add(int numberA, int numberB) {
return numberA + numberB;
}
public int multiply(int numberA, int numberB) {
return numberA * numberB;
}
}
Latest posts by Wayan (see all)
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024
- How do I sum a BigDecimal property of a list of objects using Java Stream API? - July 22, 2024