Classes Internas em Java
Publicado por Fagner Amaral de Souza Candido (última atualização em 09/06/2011)
[ Hits: 6.013 ]
Homepage: https://github.com/fagnercandido
Olá PessoALL,
Novamente pela minha jornada pela certificação Java, me deparei com as classes internas. As classes internas são tratadas como membros da classe mais externa. Isso significa que elas podem receber os modificadores de acesso e os outros modificadores. Por ser membro, tem acesso a outros membros da classe mais externa.
As classes internas sempre geram polêmicas em seus uso. Ressalto que as mesmas tem sua utilidade, mas claro, em excesso pode causar um código difícil de manter e evoluir.
Qualquer dúvida, sugestão ou crítica sempre serão bem-vindos,
Abraços e Até a próxima
fagner7777777@gmail.com
f_Candido
@fagner_candido
/* Sintese : Objetivo : Demonstrar o uso de Classes Internas Entrada : n/d Saída : n/d Autor : Fagner Candido f_Candido @fagner_candido fagner7777777@gmail.com */ class ExternalClass{ private String name; public ExternalClass(){ name = "Ronaldo"; } public String getName(){ return this.name; } // Declaracao da classe interna // E um membro da classe ExternalClass class InnerClass{ public void printArgs(){ // Sendo membro, tem acesso aos membros da classe externa System.out.println("Argumento da Classe Externa : "+name); // Acesso atraves da ExternalClass System.out.println("Argumento da Classe Externa[Com Encapsulamento] : "+ExternalClass.this.getName()); // Print da instancia // Aparece desta forma, por conta da sobrescricao de toString System.out.println("Classe Interna : "+this); } // Sobrescrevendo toString public String toString(){ return "InnerClass"; } } } class Main{ public static void main(String[] args){ // Criando um instancia de InnerClass, uma sintaxe diferente ExternalClass.InnerClass objInt = new ExternalClass().new InnerClass(); objInt.printArgs(); } }
J2ME - Simples teste de unicode
Pilha Dinâmica Orientada a Objetos com Java
Instalando java no ubuntu, fácil e rápido...
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta