Consultar o modificar el valor de un campo privado

1894 vistas

Después de recuperar los [iurl=90&all=0&fs=844#859]campos privados de un objeto[/iurl] podemos intentar desactivar la protección de éste usando el método setAccessible(boolean b). Si el uso de este método no provoca una excepción del SecurityManager, podremos modificar el valor del campo.

Ejemplo: tomemos una clase Secret con un campo privado priv de tipo String...



java
  1. void modificarCampo(Secret s, String val)
  2. {
  3.   Field f = s.getClass().getDeclaredField("priv");
  4.   f.setAccessible(true);
  5.   f.set(s,val);
  6. }