Computação 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 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 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.

Conceito de Classes Aninhadas

Na Programação Orientada a Objetos (POO) com Java, uma classe aninhada (ou nested class) é aquela declarada inteiramente dentro do corpo de outra classe ou interface.

Essas classes funcionam como membros da classe envolvente (classe externa). Elas podem ser classificadas principalmente em dois grupos:

  • Inner Classes (Classes Internas): Não possuem o modificador static. Têm acesso direto a todos os membros da classe externa, inclusive os privados.
  • Static Nested Classes: Possuem o modificador static. Funcionam como membros estáticos e precisam de uma instância da classe externa para acessar seus membros não estáticos (se necessário), mas geralmente operam de forma isolada.

Análise Detalhada das Alternativas

Vamos examinar por que as outras opções estão incorretas:

  • Alternativa A: Incorreta. A classe aninhada não é derivada (herdada) da classe externa. Ela possui uma relação de composição/pertença, mas não utiliza o mecanismo de herança (extends) em relação à sua classe envolvente.
  • Alternativa B: Incorreta. Não há restrição de que deva estender a classe externa. Uma classe aninhada pode estender qualquer outra classe existente no projeto, respeitando as regras de herança normais do Java.
  • Alternativa C: Incorreta. Classes aninhadas são extensíveis, desde que não sejam declaradas como final. Assim como qualquer outra classe, elas podem servir de base para novas subclasses.
  • Alternativa D: Incorreta. A visibilidade (modificador de acesso) da classe aninhada é independente da classe externa. Você pode declarar uma classe pública externa com uma classe interna privada, por exemplo.

Conclusão

A alternativa E é a correta porque, na estrutura de classes do Java, classes aninhadas são efetivamente definidas como membros de classe. Elas residem no escopo da classe pai, compartilhando seu nome de espaço (namespace) e podendo ser referenciadas usando a sintaxe ClasseExterna.ClasseInterna.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Computação

Ver mais Computação resolvidas

Tem outra questão de Computação?

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