Questão FC266134
Dada a seguinte classe, escrita na linguagem de programação Java, assinale a afirmativa correta em relação aos objetos dessa classe: public class Mamifero { private boolean isSabeV
Linguagens de Programação
IDECAN · 2019
Dada a seguinte classe, escrita na linguagem de programação Java, assinale a afirmativa correta em relação aos objetos dessa classe:
public class Mamifero {
private boolean isSabeVoar;
protected Mamifero (){
isSabeVoar = true;
}
public Mamifero(boolean voa){
isSabeVoar = voa;
}
}
- Os objetos podem ser criados apenas dentro de subclasses de Mamifero.
- Os objetos podem ser criados apenas no método main da classe Mamifero.
- Os objetos podem ser criados em qualquer classe, desde que estejam no mesmo pacote da classe Mamifero.
- Temos um erro de sintaxe nessa classe Java pois todos os construtores obrigatoriamente devem ter controle de acesso public.
- Os objetos podem ser criados em qualquer classe, com o atributo isSabeVoar podendo ser inicializado com qualquer valor booleano.
Mostrar resposta e comentário
Gabarito
Errado
Comentário do professor
A alternativa está correta porque a classe Mamifero é public, o que torna sua visibilidade global no projeto, e há um construtor public (Mamifero(boolean voa)) que permite instanciá‑la a partir de qualquer outra classe usando new.
O atributo isSabeVoar é private, portanto não pode ser alterado diretamente de fora da classe, mas é inicializado internamente pelos construtores. O construtor sem argumentos (aqui protected) atribui true.
O construtor público com parâmetro recebe um boolean e atribui esse valor a isSabeVoar, possibilitando inicializá‑lo tanto como true quanto como false. Exemplos: new Mamifero() resulta em isSabeVoar == true; new Mamifero(false) resulta em isSabeVoar == false.
Portanto, objetos podem ser criados em qualquer classe e o atributo pode receber qualquer valor booleano definido no momento da criação.
Conteúdo do catálogo FC Concursos · Atualizado em