public class Animal {
public void som() {
System.out.printIn(Algum som de animal);
}
}
public class Cachorro extends Animal {
public void som() {
System.out.printIn(Latido);
}
}
Se o seguinte código for executado: java
Animal animal
new Animal();
Cachorro animal3 = new Cachorro():
animal.som();
O que será impresso no console?
a) algum som de animal
b) Latido
c) Erro de compilaçâo
d) Nada, o código nāo executará
public void som() {
System.out.printIn(Algum som de animal);
}
}
public class Cachorro extends Animal {
public void som() {
System.out.printIn(Latido);
}
}
Se o seguinte código for executado: java
Animal animal
Cachorro animal3 = new Cachorro():
animal.som();
O que será impresso no console?
a) algum som de animal
b) Latido
c) Erro de compilaçâo
d) Nada, o código nāo executará
Passo 1
Então, a gente tem um exercício de programação em Java que envolve classes e herança. A ideia é entender o que vai ser impresso no console quando rodamos um código específico. Para resolver isso, vamos precisar saber sobre herança e sobrescrita de métodos em Java.
Passo 2
Primeiro, vamos olhar para as classes que foram criadas. Temos uma classe chamada
Animal
que tem um método chamado som()
. Esse método, quando chamado, imprime “Algum som de animal”.public class Animal {
public void som() {
System.out.println("Algum som de animal");
}
}
Passo 3
Depois, temos outra classe chamada
Cachorro
que herda de Animal
. Isso significa que Cachorro
é uma subclasse de Animal
e herda seus métodos. Porém, na classe Cachorro
, o método som()
é sobrescrito para imprimir “Latido”.public class Cachorro extends Animal {
public void som() {
System.out.println("Latido");
}
}
Passo 4
Agora, vamos ver o que acontece no código principal:
Animal animal = new Animal();
Cachorro animal3 = new Cachorro();
animal.som();
Aqui, criamos duas variáveis:
animal
, que é do tipoAnimal
e instancia um objetoAnimal
.animal3
, que é do tipoCachorro
e instancia um objetoCachorro
.
Passo 5
Quando chamamos
animal.som();
, estamos chamando o método som()
na instância de Animal
. Como animal
é do tipo Animal
, ele vai usar o método definido na classe Animal
, que imprime “Algum som de animal”.Se tivéssemos chamado
animal3.som();
, ele usaria o método sobrescrito na classe Cachorro
, imprimindo “Latido”.Resposta
A opção correta é:
a) algum som de animal