Classe Java Anônima

Neste tutorial, você aprenderá sobre classes anônimas em Java com a ajuda de exemplos.

Em Java, uma classe pode conter outra classe conhecida como classe aninhada. É possível criar uma classe aninhada sem dar nenhum nome.

Uma classe aninhada que não tem nenhum nome é conhecida como classe anônima.

Uma classe anônima deve ser definida dentro de outra classe. Portanto, também é conhecido como uma classe interna anônima. Sua sintaxe é:

 class outerClass ( // defining anonymous class object1 = new Type(parameterList) ( // body of the anonymous class ); ) 

Classes anônimas geralmente estendem subclasses ou implementam interfaces.

Aqui, o tipo pode ser

  1. uma superclasse que uma classe anônima estende
  2. uma interface que uma classe anônima implementa

O código acima cria um objeto object1,, de uma classe anônima em tempo de execução.

Nota: Classes anônimas são definidas dentro de uma expressão. Portanto, o ponto-e-vírgula é usado no final das classes anônimas para indicar o final da expressão.

Exemplo 1: Classe anônima estendendo uma classe

 class Polygon ( public void display() ( System.out.println("Inside the Polygon class"); ) ) class AnonymousDemo ( public void createClass() ( // creation of anonymous class extending class Polygon Polygon p1 = new Polygon() ( public void display() ( System.out.println("Inside an anonymous class."); ) ); p1.display(); ) ) class Main ( public static void main(String() args) ( AnonymousDemo an = new AnonymousDemo(); an.createClass(); ) ) 

Resultado

 Dentro de uma classe anônima. 

No exemplo acima, criamos uma classe Polygon. Tem um único método display().

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

Quando executamos o programa, um objeto p1 da classe anônima é criado. O objeto então chama o display()método da classe anônima.

Exemplo 2: classe anônima implementando uma interface

 interface Polygon ( public void display(); ) class AnonymousDemo ( public void createClass() ( // anonymous class implementing interface Polygon p1 = new Polygon() ( public void display() ( System.out.println("Inside an anonymous class."); ) ); p1.display(); ) ) class Main ( public static void main(String() args) ( AnonymousDemo an = new AnonymousDemo(); an.createClass(); ) ) 

Resultado

 Dentro de uma classe anônima. 

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

Vantagens das classes anônimas

Em classes anônimas, os objetos são criados sempre que necessários. Ou seja, os objetos são criados para realizar algumas tarefas específicas. Por exemplo,

 Object = new Example() ( public void display() ( System.out.println("Anonymous class overrides the method display()."); ) ); 

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

As classes anônimas também nos ajudam a tornar nosso código conciso.

Artigos interessantes...