English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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
Clase base que hereda la clase anónima
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.
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.
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.
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.