Daniel Prado

Java

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 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)
Compartir: WhatsApp Facebook X Correo

Comentarios (1)

  • sebastian

    muy buen articulo gracias vale la pena leerlo. Saludos desde Argentina

Deja tu comentario

No lo publicaremos.

Tu comentario pasará por moderación antes de publicarse. Privacidad.