Foro de elhacker.net

Programación => Java => Mensaje iniciado por: eleon en 22 Julio 2013, 20:43 pm



Título: Cambiar visibilidad de un atributo/método heredado
Publicado por: eleon en 22 Julio 2013, 20:43 pm
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
  1. public class ClasePadre {
  2. private int x;
  3. ...
  4. }
  5.  
  6. public class ClaseHija extends ClasePadre {
  7.  
  8. int x;
  9. ...
  10. }

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

Gracias. Un saludo.


Título: Re: Cambiar visibilidad de un atributo/método heredado
Publicado por: eleon en 25 Julio 2013, 18:57 pm
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.