Sendo que funciona com ou sem (apenas quando não coloco fica um Warning…)
?
Sendo que funciona com ou sem (apenas quando não coloco fica um Warning…)
?
Toda a vez que você sobrescrever um método da classe pai.
Funciona com ou sem caso estiver sobrescrevendo corretamente, agora o uso do @Override garante que vc não vai sobrescrever algo que vc não herdou, pois o compilador vai chorar…
“Indicates that a method declaration is intended to override a method declaration in a superclass. If a method is annotated with this annotation type but does not override a superclass method, compilers are required to generate an error message.”
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Override.html
[code]package br.sobreescrita;
class A {
public void procrastinar(int minutos, String atividade ){ }
}
class B extends A{
//@Override
public void procrastinar(String atividade, int minutos ){ }
}
public class Exemplo{
public static void main(String [] xxx){
B b = new B();
b.procrastinar(“implementar sistema X”, 60);
b.procrastinar(20, “criar massa dados”);
}
}[/code]
Se vc não usa @Override, vc faz uma coisa dessas: acredita que B está sobreescrevendo um método em A, porém apenas criou uma nova assinatura, mantendo o antigo método. Se vc usa, acontece isso:
The method procrastinar(String, int) of type B must override a superclass method sobreescrita/br/sobreescrita
Ou seja, o compilador te avisa “magrão, ACORDA q tu não está sobreescrevendo método coisissima nenhuma, tu comeu mosca, ficou olhando aquela secretária boazuda passando pelo corredor e escrever a primeira coisa q veio na mente”.