Classes e Interfaces – Item 22

external-link-building2Prefira criar classes internas estáticas ao invés de classes internas não estáticas

O propósito de uma classe aninhada é servir exclusivamente a classe encapsuladora. A única diferença de classes internas “estáticas” para as “não estáticas” é o relacionamento implícito existente com o objeto da classe agregadora. O objeto da classe interna “não estática” sempre armazenara um ponteiro explicito escondido para o objeto da classe externa a ele. Esse tipo de relacionamento tem custos de recursos, podendo manter a referência do objeto externo não elegível para o coletor de lixo. Isso acontece por que não é possível criar uma instância da classe interna sem existir um objeto implícito da classe externa. Por esse justo fato, sempre prefira criar uma classe interna que não acesse os membros da classe externa e assim possa ser declarado com uma classe “interna estática”. Dessa forma o objeto da classe interna estática pode existir sem referência explicita para um objeto da classe externa.

Para todas as informações, veja o post inicial.

“Quem me serve precisa seguir-me; e, onde estou, o meu servo também estará. Aquele que me serve, meu Pai o honrará.” João 12:26

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s