I have found the @Override annotation very much helpful while overriding some super class methods in my derived classes. Basically the compiler detects the flaw
@Override
To implement an interface we use implements and if any method exists in that interface then we override those methods to provide an implementation.
implements
So there is only @Override annotation because in both cases (class or interface) we always override.