Pra que serve essa anotação?

Ola Galera!

Alguém pode me explicar pra que serve esta anotação: @Override
???

Desde já agradeço

[quote=080808]Ola Galera!

Alguém pode me explicar pra que serve esta anotação: @Override
???

Desde já agradeço[/quote]

Indica que você está sobescrevendo um método da classe mãe.

Imagine este caso:

class Base{ void test(String s, int i){} } public class A extends Base{ @Override void test(int i, String s){} }

Sem o @Override o codigo compila. Ai vc acha que A sobreescreveu o metodo teste quando, na verdade, sobrecarregou: vc teria 2 metodos com assinaturas diferentes isso pq vc inverteu, acidentalmente, a ordem dos parametros. Com a anotação:

$ javac A.java A.java:5: method does not override or implement a method from a supertype @Override ^ 1 error

O compilador percebe q vc se enganou e lança um erro: ai cabe a vc corrigir :wink:

é interessante um programador saber um poquinho de ingles, mesmo que seja o tecnico.

http://www.netpedia.com.br/MostraDC.php?Alpha=O&PageNo=6

[quote=peczenyj]Imagine este caso:

class Base{ void test(String s, int i){} } public class A extends Base{ @Override void test(int i, String s){} }

Sem o @Override o codigo compila. Ai vc acha que A sobreescreveu o metodo teste quando, na verdade, sobrecarregou: vc teria 2 metodos com assinaturas diferentes isso pq vc inverteu, acidentalmente, a ordem dos parametros. Com a anotação:

$ javac A.java A.java:5: method does not override or implement a method from a supertype @Override ^ 1 error

O compilador percebe q vc se enganou e lança um erro: ai cabe a vc corrigir ;-)[/quote]

Seria um Overloading ?