Warum @Override?

sengul

Bekanntes Mitglied
Hallo,
meine frage ist, für was brauche die @Override annotation, den ich kann doch eine Methode von der oberklasse geerbt in der Unterklasse ohne die Annotaion @Override überschreiben oder? Also wann ist es dann nützlich diesse Annotaion zu nutzen?

Sowie in diesem Beispiel überschreibe ich die Methode ohne @Override zu nutzen

class Superclass{

public void move() {
System.out.println("Animals can move");
}
}

class Subclass extends Superclass {
public void move() {
System.out.println("Dogs can walk and run");
}

public static void main(String args[]) {
Superclass a = new Superclass(); // Animal reference and object
Superclass b = new Subclass(); // Animal reference but Dog object

a.move(); // runs the method in Animal class
b.move(); // runs the method in Dog class

}
}

Vielen Dank im Vorraus
 
Kannst du. Aber mit der Annotation kann der Compiler dir sagen ob es wirklich in einer Oberklasse diese Methode gibt und du wirklich überschreibst.

Edit: Genauer gesagt du wirst eine Fehlermeldung kriegen wenn du nicht wirklich überschreibst. Du könntest ja einen Schreibfehler haben, die Signatur stimmt nicht usw.
 

Zurück
Oben