You can access private method from outside class by changing the runtime behavior of the class
public method getDeclareMethod(String name,Class[] parameterTypes) throws NoSuchMethodException,SecurityException : returns a Method object that reflects the specified declared method of the class or interface represented by this Class object.
public method getDeclareMethod(String name,Class[] parameterTypes) throws NoSuchMethodException,SecurityException : returns a Method object that reflects the specified declared method of the class or interface represented by this Class object.
public class DynamicClass {
private void show(){
System.out.println("Test");
}
}
import java.lang.reflect.Method;
public class AccessPrivateMethod {
public static void main(String args[]){
try{
Class clsClass = Class.forName("DynamicClass");
Object o = clsClass.newInstance();
Method method = clsClass.getDeclaredMethod("show", null);
method.setAccessible(true);
method.invoke(o, null);
}catch(Exception e){
e.printStackTrace();
}
}
}
Result : Test
No comments:
Post a Comment