Engenharia Múltipla Escolha

Java passou a adotar o aninhamento de classes logo nas suas primeiras versões. Na programação (OO), uma classe aninhada é uma classe declarada inteiramente dentro de uma outra classe ou interface. Sobre o aninhamento de classes em Java, marque a única opção correta.

Java passou a adotar o aninhamento de classes logo nas suas primeiras versões. Na programação (OO), uma classe aninhada é uma classe declarada inteiramente dentro de uma outra classe ou interface. Sobre o aninhamento de classes em Java, marque a única opção correta.

  1. A classe aninhada é derivada da classe mais externa.
  2. Classes aninhadas só podem estender a classe mais externa.
  3. Classes aninhadas não são extensíveis.
  4. Classes aninhadas têm a mesma visibilidade que a especificada pelo modificador de acesso aplicado à classe mais externa.
  5. Uma classe aninhada é um membro da classe mais externa.

Resolução completa

Explicação passo a passo

E
Alternativa E

Alternativa E - Uma classe aninhada é um membro da classe mais externa.

Análise Detalhada

O conceito fundamental abordado nesta questão é a definição e o comportamento de Classes Aninhadas (também chamadas de classes internas) no Java.

Uma classe aninhada é definida como uma classe declarada dentro do corpo de outra classe. Do ponto de vista da estrutura da linguagem Java, essas classes funcionam como membros da classe que as contém, assim como campos (variáveis) e métodos.

Por que a alternativa E é correta?

  • Membro da Classe: Assim como variáveis e métodos, uma classe aninhada pertence ao escopo da classe externa. Ela é um componente integrante dessa estrutura.
  • Acesso: Devido a essa relação de membro, a classe aninhada tem acesso privilegiado aos membros privados da classe externa (especialmente no caso de classes aninhadas não estáticas).

Por que as outras alternativas estão incorretas?

  • A) A classe aninhada é derivada da classe mais externa.
  • Incorreto. Herança (derivação) ocorre apenas quando usamos a palavra-chave extends. Uma classe aninhada não é automaticamente uma subclasse da classe externa; ela apenas vive dentro dela.
  • B) Classes aninhadas só podem estender a classe mais externa.
  • Incorreto. Não existe tal restrição. Uma classe aninhada pode estender qualquer outra classe disponível no projeto ou implementar interfaces, desde que respeite a lógica de herança do Java.
  • C) Classes aninhadas não são extensíveis.
  • Incorreto. Elas são extensíveis se não forem marcadas como final. Se a classe aninhada tiver um modificador de acesso adequado (como public ou protected), outras classes podem herdar dela.
  • D) Classes aninhadas têm a mesma visibilidade que a especificada pelo modificador de acesso aplicado à classe mais externa.
  • Incorreto. Cada classe possui seu próprio modificador de acesso independente. Você pode declarar uma classe pública fora, mas criar uma classe interna privada dentro dela.

Resumo dos Tipos de Classes Aninhadas

Para compreender melhor, vale lembrar que existem dois tipos principais:

TipoModificador ComumCaracterística Principal
Classe Interna EstáticastaticNão tem acesso automático a membros instance da classe externa.
Classe Interna Não EstáticaSem staticTem acesso total a todos os membros da classe externa (incluindo private).

Portanto, a definição mais precisa e abrangente entre as opções é que ela é um membro da classe mais externa.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Engenharia

Ver mais Engenharia resolvidas

Tem outra questão de Engenharia?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.