Imagem de fundo

Considere o código Java a seguir.class Veiculo { public...

Considere o código Java a seguir.

class Veiculo {
public String mover() {
return "Movendo";
}
}

class Carro extends Veiculo {
@Override
public String mover() {
return "Carro em movimento";
}
}

public class Principal {
public static void main(String[] args) {
Veiculo v = new Carro();
System.out.println(v.mover());
}
}

Com base no código apresentado, assinale a alternativa correta.


A

O código imprime "Movendo", pois a variável v foi declarada como Veiculo.


B

O código apresenta erro de compilação, pois um objeto da classe Carro não pode ser atribuído a uma variável do tipo Veiculo.


C

O código apresenta erro de compilação porque o método mover() deveria ser declarado como abstract na classe Veiculo.


D

O código imprime "Carro em movimento", pois, em tempo de execução, é invocado o método sobrescrito da classe Carro.


E

O código imprime as duas mensagens, primeiro, "Movendo" e, depois, "Carro em movimento", devido à herança.