Questão FC374719
Considere o seguinte trecho de código em Java: public class Veiculo { private String marca; private String modelo; public Veiculo(String marca, String modelo) { this.marca = marca;
Linguagens de Programação
Instituto Consulplan · 2025
Considere o seguinte trecho de código em Java:
public class Veiculo {
private String marca;
private String modelo;
public Veiculo(String marca, String modelo) {
this.marca = marca;
this.modelo = modelo;
}
public void exibirDetalhes( ) {
System.out.println("Marca: " + marca + ", Modelo: " + modelo);
}
}
public class Carro extends Veiculo {
private int ano;
public Carro(String marca, String modelo, int ano) {
super(marca, modelo);
this.ano = ano;
}
@Override
public void exibirDetalhes( ) {
super.exibirDetalhes( );
System.out.println("Ano: " + ano);
}
}
Com base no código, analise as afirmativas a seguir.
I. A classe Carro herda os atributos marca e modelo da classe Veiculo.
II. O método exibirDetalhes na classe Carro sobrescreve o método da classe Veiculo.
III. Os atributos marca e modelo podem ser acessados diretamente na classe Carro.
IV. A palavra-chave super é usada para chamar o construtor da classe pai.
Está correto o que se afirma apenas em
- I e III.
- II e IV.
- I, II e IV.
- I, III e IV.
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
A afirmativa I é correta porque a classe Carro estende Veiculo, ou seja, ela herda os atributos declarados em Veiculo (fazem parte do objeto). Note que, apesar de herdados, atributos com modificador private não ficam acessíveis diretamente na subclasse — permanecem encapsulados na classe pai.
A afirmativa II é correta: o método exibirDetalhes() em Carro possui a mesma assinatura do método da superclasse e está anotado com @Override, caracterizando a sobrescrita (override). Em tempo de execução a chamada ao método será resolvida dinamicamente pela implementação concreta do objeto.
A afirmativa IV é correta porque a chamada super(marca, modelo) no construtor de Carro invoca explicitamente o construtor da classe pai Veiculo. Em Java, usar super com parâmetros dentro do construtor faz essa ligação e deve ser a primeira instrução do construtor.
Conteúdo do catálogo FC Concursos · Atualizado em