2010-06-09 9 views
5

Al anular un método en Java, es posible llamar al "original". Por ejemplo:Oversión "parcial" de Java

public class A extends B{ 

    @Override 
    public void foo(){ 
    System.out.println("yep"); 
    // Then execute foo() as it's defined in B 
    } 

} 

Respuesta

12
public class A extends B{ 

    @Override 
    public void foo(){ 
    System.out.println("yep"); 
    super.foo(); // calls the method implemented in B 
    } 
} 
+0

El tic va a la pistola rápida. Por alguna razón no entendí el uso de super – Jla

+1

@DrDro: es posible que no lo hayas malinterpretado, porque este no es el único uso de 'super'. –

1

Puede llamar

super.foo(); 
2

Usted está buscando super.foo().

3

El uso de la Keywork super está destinado para este

super.foo(); 
1

Prueba esto:

super.foo() 
7

Simplemente llame super.methodName() llamar a la versión de su supertipo del método.

public class A extends B{ 
    @Override 
    public void foo(){ 
    System.out.println("yep"); 
    super.foo(); // Here you call the supertype's foo() 
    } 
} 

Además, esto no está 'parcialmente' anulando el método. Lo está anulando por completo, pero solo está usando algunas de las funciones de los padres.