Foro sobre Java SE > Herencia en java
No defines "más código" en ese mismo método, lo que haces es sustituir el método de la superclase con el de la subclase. Por ejemplo:
public class MiSuperClase {
public String miMetodo() {
return "¡¡Soy Super!!";
}
}
public class MiSubClase extends MiSuperClase {
@Override
public String miMetodo() {
return "soy sub :-(";
}
}
public class MiOtraSubClase extends MiSuperClase {
@Override
public String miMetodo() {
// Para invocar un método de la superclase inmediata, se usa super.<metodo>
return super.miMetodo() + " (bueno, casi)";
}
}
public class Test() {
public static void main(String[] args) {
MiSuperClase c1 = new MiSuperClase();
MiSubClase c2 = new MiSubClase);
MiOtraSubClase c3 = new MiOtraSubClase();
// Imprime "miMetodo de MiSuperClase dice: ¡¡Soy Super!!"
System.out.println("miMetodo de MiSuperClase dice: " + c1.miMetodo());
// Imprime "miMetodo de MiSubClase dice: soy sub :-("
System.out.println("miMetodo de MiSubClase dice: " + c2.miMetodo());
// Imprime "miMetodo de MiOtraSubClase dice: ¡¡Soy Super!! (bueno, casi)"
System.out.println("miMetodo de MiOtraSubClase dice: " + c3.miMetodo());
En la especificación del lenguaje Java se explica mejor.
Hola javaHispanos, tengo una duda sobre la herencia, cuando yo heredo de una super clase un método que ya se declaró y se definió, en una sub-clase y defino más código en ese mismo método, me imprime lo de la super-clase y la sub-clase o solo la de la subclase, claro instan-ciando de la sub-clase