středa 1. října 2008

Proč používat anotaci @Override

Jednou z nejužitečnějších anotací, kterou představila Jave 1.5, je bezesporu anotace @Override. Tuto anotaci je důležité použít pokaždé, když překrýváte metodu, kterou deklaruje předek vaší třídy. Díky tomu budete kompilátorem upozorněni, a to ne varováním jak si mnozí mylně domývají, ale rovnou kompilační chybou, ve chvíli kdy kompilátor nenajde metodu stejné signatury v předkovi. Díky použití této anotace chráníte vlastní kód před těžko detekovatelnými chybami.

public class Predek {
  public void doSomething() {
  }
}

public class Potomek extends Predek {

  @Override
  public void doSomething() {    
  }

}

Ve chvili kdy se změní například signatura metody (bez rozdílu jestli v předkovi nebo potomkovi) - přidáme argument, kompilátor zahlási následující hlášku (toto hlásí kompilitáro v Eclipse): The method doSomething() of type Potomek must override or implement a supertype method.