Set private field value

 
import java.lang.reflect.Field;

public class FieldTroubleToo {
  public final boolean b = true;

  public static void main(String... args) {
    FieldTroubleToo ft = new FieldTroubleToo();
    try {
      Class<?> c = ft.getClass();
      Field f = c.getDeclaredField("b");
      // f.setAccessible(true); // solution
      f.setBoolean(ft, Boolean.FALSE); // IllegalAccessException

      // production code should handle these exceptions more gracefully
    } catch (NoSuchFieldException x) {
      x.printStackTrace();
    } catch (IllegalArgumentException x) {
      x.printStackTrace();
    } catch (IllegalAccessException x) {
      x.printStackTrace();
    }
  }
}
  
Home 
  Java Book 
    Runnable examples  

Reflection Field:
  1. Get all fields
  2. Get all Declared Fields
  3. Get annotations for a Field
  4. Get "public static final" field
  5. Get specific fields
  6. Get Field value by field name
  7. Get fields for super class
  8. Get Inherited Methods and fields
  9. Get Type of the field or return type of a method.
  10. Field modifiers: isSynthetic, isEnumConstant
  11. Set field value
  12. Set null to a field value
  13. Set private field value