21
Feb
Invoke Inner class method via Java Reflection
Invoke Inner class method via Java Reflection
==============================================
package practice;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
public class OuterClass {
class InnerClass {
public void myFunction() {
System.out.println("Hello from inner class method");
}
}
public static void main(String[] args) {
try {
OuterClass oc = new OuterClass();
Class<?> ic = Class.forName("practice.OuterClass$InnerClass");
Constructor<?> icc = ic.getDeclaredConstructor(OuterClass.class);
Object o = icc.newInstance(oc);
Method m = o.getClass().getDeclaredMethod("myFunction", null);
m.invoke(o, null);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
output:
Hello from inner class method
0 comments