English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriais Básicos de Java

Controle de fluxo do Java

Array do Java

Java orientado a objetos (I)

Java orientado a objetos (II)

Java orientado a objetos (III)

Tratamento de Exceções Java

Lista List do Java

Fila Queue do Java

Conjunto Map do Java

Conjunto Set do Java

E/S de entrada/saída do Java (I/O)

Reader do Java/Writer

Outros tópicos do Java

Classes Anônimas Java

Neste tutorial, você aprenderá sobre classes anônimas no Java com exemplos.

No Java, uma classe pode conter outra classe chamada de classe aninhada. Pode ser criada uma classe aninhada sem fornecer nenhum nome.

Classe anônima é chamada de classe anônima quando não é fornecido nenhum nome para a classe aninhada.

É necessário definir uma classe anônima dentro de outra classe. Portanto, também é chamada de classe anônima interna. Sua sintaxe é:

class outerClass {
    //Definir classe anônima
    object1 = new Type(parameterList) {
         //Corpo da classe anônima
    };
};

Classe anônima geralmente herda subclasses ou implementa interfaces.

Aqui,Tipo (Type)Pode ser

  1. Superclasse herdada pela classe anônima

  2. Interface implementada pela classe anônima

O código acima cria um objeto da classe anônima no tempo de execução.1

Atenção:A classe anônima é definida dentro de uma expressão. Portanto, no final da classe anônima, usa-se ponto-e-vírgula para indicar o final da expressão.

Exemplo1Classe anônima herdando a classe

class Polygon {
   public void display() {
      System.out.println("Dentro da classe Polygon");
   };
};
class AnonymousDemo {
   public void createClass() {
      //Criar classe anônima, herdando a classe Polygon
      Polygon p1 = new Polygon() {
         public void display() {
            System.out.println("Dentro da classe anônima.");
         };
      };
      p1.display();
   };
};
class Main {
   public static void main(String[] args) {
       AnonymousDemo an = new AnonymousDemo();
       an.createClass();
   };
};

Resultados de Saída

Dentro da classe anônima

No exemplo acima, criamos uma classe Polygon. Ela tem apenas um método display().

Em seguida, criamos uma classe anônima que herda a classe Polygon e sobrescreve o método display().

Quando executamos o programa, criamos um objeto da classe anônima p1Então o objeto chama o método display() da classe anônima.

Exemplo2Classe anônima que implementa a interface

interface Polygon {
   public void display();
};
class AnonymousDemo {
   public void createClass() {
      //Implementação de classe anônima para interface
      Polygon p1 = new Polygon() {
         public void display() {
            System.out.println("Dentro da classe anônima.");
         };
      };
      p1.display();
   };
};
class Main {
   public static void main(String[] args) {
      AnonymousDemo an = new AnonymousDemo();
      an.createClass();
   };
};

Resultados de Saída

Dentro da classe anônima

No exemplo acima, criamos uma classe anônima que implementa a interface Polygon.

Vantagens da classe anônima

Dentro da classe anônima, crie objetos conforme necessário. Isso é, crie objetos para executar tarefas específicas. Por exemplo,

Object = new Example() {
   public void display() {
      System.out.println("Classe anônima sobrescreve o método display().");
   };
};

Aqui, quando precisamos sobrescrever o método display(), será criado dinamicamente um objeto da classe anônima.

Classes anônimas também ajudam a simplificar o código.