import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class ReflectionExample {
private String privateField = "Private Field";
public static void main(String[] args) throws Exception {
Class<?> clazz = ReflectionExample.class;
Object instance = clazz.getDeclaredConstructor().newInstance();
Method method = clazz.getDeclaredMethod("privateMethod");
method.setAccessible(true);
method.invoke(instance);
Field field = clazz.getDeclaredField("privateField");
field.setAccessible(true);
System.out.println("Original value: " + field.get(instance));
field.set(instance, "Modified Field");
System.out.println("Modified value: " + field.get(instance));
}
private void privateMethod() {
System.out.println("Private Method");
}
}