Pular para o conteúdo

Classes Internas em Java

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
Fagner Amaral de Souza Candido f_Candido
Hits: 6.551 Categoria: Java Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

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
Download ClassesInternas.java Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Esconder código-fonte

/*
   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();
      
   }
}
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Gerar CSV, DOC e PDF

Zipando Pasta ou Arquivo

J2ME - Simples teste de unicode

Ordenar um lista estática seqüencial de complexidade média (método da seleção)

detectando firebird

#1 Comentário enviado por MAPOGOS em 17/01/2013 - 00:28h
//* Sendo membro, tem acesso aos membros da classe externa; *//


Onde representa que os menbros tem acesso as classe externas?

Contribuir com comentário

Entre na sua conta para comentar.