Novamente estudando pelo livro… Na parte de sobrescrição de métodos, o livro coloca a seguinte regra:
- Você não pode sobrescrever um método marcado com static.
Mas aih eu fiz o teste no eclipse com o seguinte código:
class Animal{
public static void eat(){
System.out.println(“Animal generico comendo genericamente”);
}
}
class Horse extends Animal{
public static void eat(){
System.out.println(“Cavalo comendo”);
}
}
public class TestAnimals {
public static void main(String[] args) {
Animal a = new Animal();
Horse h = new Horse();
a.eat();
h.eat();
}
}
Que compila sem erros e mostra a saída:
Animal generico comendo genericamente
Cavalo comendo
Afinal, um método marcado com static pode ou não ser sobrescrito? Se cair uma pergunta dessas no exame, devo responder o q?