Hola a todos!!
Tengo una duda con la sobrescritura de métodos.
Si tengo una clase Mamifero
package panimal1;
public class Mamifero extends Animal
{
private String dueno;
public Mamifero(String nom, int ed, String due)
{
super(nom,ed);
dueno=due;
}
public void Mostrar()
{
super.MostrarDatosGen();
System.out.println ("El nombre del dueno es :"+ dueno );
}
}
Que tiene un método Mostrar como publico y creo una clase Gato que extiende de mamifero
package panimal1;
//import panimal1.*;
public class Gato extends Mamifero
{
private int nummaullidos;
public Gato(String nom,int ed, String due,int maullidos)
{
super(nom,ed,due);
nummaullidos=maullidos;
}
void Mostrar()
{
super.Mostrar();
System.out.println ("Ha maullado " + nummaullidos+ " vez / veces");
}
}
Que sobreescribe el método Mostrar pero no es público , porque me da un error al sobreescribirlo.Usando super se supone que el metodo de la subclase esta oculta por la sobreescritura y con super lo que hago llamar al método de la superclase.
No puedo decidir que el método de Gato no sea publico, porque me interese así por lo que sea????
O al ser su padre publico él tb tiene que serlo???
Espero que me podais ayudar.....
Muchas gracias de antemano. Un saludo!!!
Fiss5