Covertir una variable privada en pública en clases Java
En este artículos explicamos como poder acceder a variables privadas de una clase, Muy útil si extendemos clases en la que es necesario acceder a atributos privados de la clase padre.
Por Daniel Prado 1 min de lectura Revisado el 1 comentario
Comprobado: Revisión contextual, no ejecución del código: AccessibleObject, documentación de Java SE 25 (docs.oracle.com).
Contexto de este artículo
- Tecnología y versión: Java Reflection, Field y setAccessible; JDK original no indicado.
- Año del artículo: 2006.
- Estado a 11 de octubre de 2026: Concepto vigente con restricciones. Acceder por reflexión no convierte el campo en public: los módulos y las reglas de acceso pueden impedirlo.
- Documentación de referencia: AccessibleObject, documentación de Java SE 25.
Conservo a continuación el texto y los ejemplos de aquella fecha como archivo técnico. No he ejecutado estos ejemplos en un entorno actual: esta revisión contextual no garantiza que funcionen hoy.
Introducción
En este artículos explicamos como poder acceder a variables privadas de una clase y como modificarlas. Esto puede ser muy útil si extendemos clases en la que es necesario acceder desde la clase hija a atributos privados declarados en la clase padre.
Veamos el código necesario
Podemos ver como introduce un valor y lo recupera.
java.lang.reflect.Field nombre = nombre_clase.getClass().getDeclaredField("nombre_atributo");
nombre.setAccessible(true);
nombre.setString(nombre_clase,"valor"); // Metemos un valor (ojo tiene que ser del mismo tipo que el atributo en este caso String)
return (String)nombre.get(nombre_clase); // Recuperamos el atributo (en este caso es un String)
Comentarios (1)
-
sebastian
muy buen articulo gracias vale la pena leerlo. Saludos desde Argentina