Classes aninhadas em Java

Índice
Há momentos em que nosso aplicativo assume dimensões maiores, tanto em tamanho quanto em complexidade, especialmente se estivermos trabalhando em um orientado para o evento, é por isso que, em vez de construir classes separadamente, podemos criar classes aninhadas.
As classes aninhadas Eles nos permitem definir uma classe dentro da outra, desta forma podemos acessar as informações da classe que a contém, com isso podemos satisfazer os requisitos de uma forma mais simples por não termos que construir estruturas independentes.
Classes aninhadasUMA classe aninhada é uma classe definida dentro do escopo ou escopo de outra classe, ou seja, está dentro da classe que irá contê-la, isso significa que ao invés de ter que instanciar dentro da classe interna um objeto da classe externa para usar seus atributos e métodos que podemos fazer diretamente, uma vez que está ao seu alcance.
Devemos ter cuidado para não confundir isso com classes separadas dentro do mesmo arquivo, pois é um conceito totalmente diferente, neste caso estamos falando de uma classe dentro da outra e não que elas compartilham o arquivo, vamos ver a diferença entre as duas definições.

Na imagem vemos na parte superior como as classes no mesmo arquivo estão umas sobre as outras, mas na parte inferior vemos como a classe aninhada está dentro da definição de outra classe, essa diferença parece evidente, porém é bom fazer o esclarecimento para evitar problemas futuros.
1- UMA classe aninhada é compilado na classe que o contém, isso gera um arquivo .aula com uma combinação de nomes de estilo ClassExternal $ ClassNested.class, se seguirmos o exemplo da imagem, o nome seria Teste $ Nested.class.
2- UMA classe aninhada Você pode usar e referir-se aos atributos e métodos da classe que o contém sem ter que fazer uma nova instância, graças a isso podemos simplificar um pouco o conteúdo do nosso programa, especialmente quando se trabalha com orientação de evento, vamos ver na imagem a seguir como isso é expresso:

3- O classe aninhada pode ser afetado por modificadores de visibilidade e assumir suas características, além disso também pode ser declarado como estático, no entanto, se fizermos o último, só poderemos acessar os métodos estático da classe que o contém.
4- Apesar de serem classes aninhadas, podem ser instâncias de classes diferentes das classes que as contêm, para isso você pode usar o seguinte formulário:
ExternalClass.NestedClassNestedClassObject = ExternalClassObject.newNested Class ();

No caso de nossa classe aninhada ser do tipo estático devemos então usar o seguinte formulário:
Classe externa. NestedClass nestedClassObject = new OuterClass.NestedClass ();

Com isso terminamos este tutorial, vimos como podemos gerar classes aninhadas e a sintaxe associada a essa característica da linguagem, a utilidade dessa forma de trabalhar é que podemos combinar classes dependentes em uma única classe grande, com isso reduzimos o número de arquivos e também o código fonte, com isso temos maior controle de nossa aplicação e facilitamos a vida de nossa equipe de desenvolvimento por ter tudo relacionado na mesma classe.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave