Clase anónima de Java
Clase anónima de Java
En este tutorial, aprenderá acerca de las clases anónimas en Java con la ayuda de ejemplos.
En Java, una clase puede contener otra clase conocida como clase anidada. Es posible crear una clase anidada sin dar ningún nombre.
Una clase anidada que no tiene ningún nombre se conoce como clase anónima.
Una clase anónima debe estar definida dentro de otra clase. Por lo tanto, también se conoce como una clase interna anónima. Su sintaxis es:
class outerClass {
// defining anonymous class
object1 = new Type(parameterList) {
// body of the anonymous class
};
}
Las clases anónimas generalmente amplían las subclases o implementan interfaces.
Aquí, Escriba puede ser
- una superclase que extiende una clase anónima
- una interfaz que implementa una clase anónima
El código anterior crea un objeto, object1
, de una clase anónima en tiempo de ejecución.
Ejemplo 1:Clase anónima que amplía una clase
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();
}
}
Salida
Inside an anonymous class.
En el ejemplo anterior, hemos creado una clase Polygon . Tiene un único método display()
.
Luego creamos una clase anónima que extiende la clase Polygon y anula el display()
método.
Cuando ejecutamos el programa, un objeto p1 de la clase anónima se crea. El objeto entonces llama al display()
método de la clase anónima.
Ejemplo 2:Clase anónima implementando una interfaz
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();
}
}
Salida
Inside an anonymous class.
En el ejemplo anterior, hemos creado una clase anónima que implementa el Polygon
interfaz.
Ventajas de las clases anónimas
En las clases anónimas, los objetos se crean cuando se requieren. Es decir, los objetos se crean para realizar algunas tareas específicas. Por ejemplo,
Object = new Example() {
public void display() {
System.out.println("Anonymous class overrides the method display().");
}
};
Aquí, un objeto de la clase anónima se crea dinámicamente cuando necesitamos anular el display()
método.
Las clases anónimas también nos ayudan a que nuestro código sea conciso.
Java