Cambiar visibilidad de un atributo/método heredado

Iniciado por eleon, 22 Julio 2013, 20:43 PM

0 Miembros y 1 Visitante están viendo este tema.

eleon

Buenas tardes:

No tengo muy claro cómo varía la visibilidad en un método o atributo heredado:

public - protected - nivel de paquete - private

¿Se puede modificar de derecha a izquierda o al contrario?.

¿Esto se hace automáticamente al redefinirlo?, es decir:

Código (java) [Seleccionar]
public class ClasePadre {
private int x;
...
}

public class ClaseHija extends ClasePadre {

int x;
...
}


¿Ahi la visibilidad ha cambiado de privado a nivel de paquete en ClaseHija o se hace de otro modo?.

Gracias. Un saludo.

eleon

#1
Sé que es un tema un poco raro y que no se suele usar si no es en aplicaciones complejas, pero ahora que me he documentado acerca de ello me autorespondo por si le sirve a alguien:

La visibilidad de los métodos se puede modificar de derecha a izquierda cuando se hereda de una clase: public <- protected <- nivel de paquete <- private

La visibilidad de los atributos no se modifica, sino que un atributo con un mismo nombre en la clase descendiente que en la clase ascendiente, hace que el atributo de la clase ascendiente se oculte, por tanto se puede modificar de derecha a izquierda y viceversa.

Espero que le sirva a alguien. Saludos.