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
é interessante um programador saber um poquinho de ingles, mesmo que seja o tecnico.
[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 ?