Ed. Técnica, perguntado por leandrobarr77, 8 meses atrás

A herança significa que os objetos da subclasse podem ser utilizados em qualquer local em que a superclasse ocorra, e não vice-versa. A subclasse herda as propriedades da mãe, ou seja, os seus atributos e métodos, bem como pode possuir atributos e métodos próprios, além dos herdados.

Analise os códigos abaixo:

package veiculo;
public class Moto extends Veiculo {
public int numRodas;
}
-------------------------------------------------------------------------------------------------
package veiculo;
public class Veiculo {
public String marca, modelo;
public int anoFabricacao;
}
-------------------------------------------------------------------------------------------------
package veiculo;
public class Programa {
public static void main(String[] args) {
Veiculo veiculo = new Veiculo();
veiculo.numRodas = 2;
System.out.println(veiculo.numRodas);
}
}
-------------------------------------------------------------------------------------------------

De acordo com o contexto acima, o que acontecerá ao executar a instrução veiculo.numRodas = 2;?


adilsoniaamopvp9s0aa: Alguém conseguiu resolver essa?

Soluções para a tarefa

Respondido por pedro17rb
2

Resposta:

Alternativa 4:

Causará um erro de exceção, devido a super classe estar tentando acessar um atributo da classe filha.

Explicação:

O atributo numRodas pertence a classe filha Moto.

Para que essa operação fosse possivel o objeto "veiculo" na classe main  deveria ser uma instancia de "Moto" e não de "Veiculo"

EX: Moto veiculo = new Moto();

Perguntas interessantes