Si anche io preferirei un'annotazione dedicata alle interface.Originariamente inviato da valia
serve ad indicare che hai una riscrittura del metodo, che nel caso delle interfacce coincide con la prima scrittura.
In generale indica proprio che hai definito altrove la funzione e/o la signature e che li stai andando a darne una nuova definizione.
Qui controlli anche che il tuo metodo è conforme a quello dell'interfaccia (come signature).
Usare la stessa notazione per interfacce/metodi non è una scelta felice, potevi usare qualcosa del tipo @Implements, ma visto che si possono creare gerarchie di classi in cui la padre implementa una interfaccia, la figlia riscrive il comportamento della padre, allora si usa una notazione unica per segnalare la definizione altrove
Il ragionamento del controllo della firma del metodo (che è forse il principale motivo per cui hanno scritto quest'annotation) ha senso nell'override dei metodi di una superclasse, ma non in quelli di un'interface perché una signature errata risulterebbe comunque in un errore di compilazione no?
@yuno: si le annotazioni ci sono anche per essere usate insieme alla reflection, ma non penso sia il caso dell'implementazione delle interface... o almeno, non mi viene in mente uno scenario dove fare questo sarebbe utile.