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

Tutoriales básicos de Java

Control de flujo Java

Java Arreglo

Java Orientado a Objetos (I)

Java Orientado a Objetos (II)

Java Orientado a Objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Cola (Queue)

Java Colecciones (Map)

Java Conjuntos (Set)

Java Entrada/Salida (I/O)

Java Reader/Writer

Otros temas de Java

Clases anónimas en Java

En este tutorial, aprenderá a usar clases anónimas en Java con ejemplos.

En Java, una clase puede contener otra clase llamada clase anidada. Se puede crear una clase anidada sin proporcionar ningún nombre.

Las clases anidadas sin nombre se llaman clases anónimas.

Debe definirse una clase anónima dentro de otra clase. Por lo tanto, también se llama clase anónima interna. Su sintaxis es:

class outerClass {
    //Definir clase anónima
    object1 = new Type(parameterList) {
         //Cuerpo de la clase anónima
    };
}

La clase anónima generalmente hereda subclases o implementa interfaces.

Aquí,Tipo (Type)Puede ser

  1. Clase base que hereda la clase anónima

  2. Interfaz implementada por la clase anónima

El código crea un objeto de clase anónima en tiempo de ejecución1.

Nota:La clase anónima se define dentro de una expresión. Por lo tanto, se utiliza un punto y coma al final de la clase anónima para indicar el final de la expresión.

Ejemplo1Clase anónima que hereda de una clase

class Polygon {
   public void display() {
      System.out.println("Dentro de la clase Polygon");
   }
}
class AnonymousDemo {
   public void createClass() {
      //Crear clase anónima, heredar de la clase Polygon
      Polygon p1 = new Polygon() {
         public void display() {
            System.out.println("El interior de la clase anónima.");
         }
      };
      p1.display();
   }
}
class Main {
   public static void main(String[] args) {
       AnonymousDemo an = new AnonymousDemo();
       an.createClass();
   }
}

Resultado de salida

El interior de la clase anónima

En el ejemplo anterior, creamos una clase Polygon. Tiene solo un método display().

Luego, creamos una clase anónima que hereda de la clase Polygon y sobrescribe el método display().

Cuando ejecutamos este programa, se crea un objeto de clase anónima p1Luego, el objeto llama al método display() de la clase anónima.

Ejemplo2Clase anónima que implementa la interfaz

interface Polygon {
   public void display();
}
class AnonymousDemo {
   public void createClass() {
      //Implementación de clase anónima de interfaz
      Polygon p1 = new Polygon() {
         public void display() {
            System.out.println("El interior de la clase anónima.");
         }
      };
      p1.display();
   }
}
class Main {
   public static void main(String[] args) {
      AnonymousDemo an = new AnonymousDemo();
      an.createClass();
   }
}

Resultado de salida

El interior de la clase anónima

En el ejemplo anterior, creamos una clase anónima que implementa la interfaz Polygon.

Ventajas de las clases anónimas

En la clase anónima, crea objetos siempre que sea necesario. Es decir, crea objetos para ejecutar tareas específicas. Por ejemplo,

Object = new Example() {
   public void display() {
      System.out.println("La clase anónima sobrescribe el método display().");
   }
};

Aquí, cuando necesitamos sobrescribir el método display(), se crea dinámicamente un objeto de la clase anónima.

Las clases anónimas también nos ayudan a escribir código más conciso.