(You can't declare a class that isn't accessible)
Using the setAccessible method you can access any method or field.
package access;
/**
@author
*/
public class A{
private String message="Hello";
private String getMessage(){
return message;
}
}
package access;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
/**
@author
*/
public class AccessTest{
/**
@param args the command line arguments
*/
public static void main(String[] args)
throws Exception{
A a=new A();
Method method=a.getClass().getDeclaredMethod("getMessage",new Class[]{});
method.setAccessible(true);
System.out.println(method.invoke(a,new Object[]{}));
Field field=a.getClass().getDeclaredField("message");
field.setAccessible(true);
System.out.println(field.get(a));
}
}
No comments:
Post a Comment