Java "частичное" переопределение - PullRequest
5 голосов
/ 09 июня 2010

При переопределении метода в Java можно вызвать «оригинальный». Например:

public class A extends B{

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

}

Ответы [ 6 ]

12 голосов
/ 09 июня 2010
public class A extends B{

  @Override
  public void foo(){
    System.out.println("yep");
    super.foo(); // calls the method implemented in B
  }  
}
7 голосов
/ 09 июня 2010

Просто вызовите super.methodName(), чтобы вызвать версию метода вашего супертипа.

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

Кроме того, этот метод не «частично» переопределяет метод.Вы полностью переопределяете его, но вы просто используете некоторые из функций родителя.

3 голосов
/ 09 июня 2010

Использование клавиш супер предназначено для этого

super.foo();
2 голосов
/ 09 июня 2010

Вы ищете super.foo().

1 голос
/ 09 июня 2010

Попробуйте это:

super.foo()
1 голос
/ 09 июня 2010

Вы можете позвонить

super.foo();
...