Cómo implementar la clase anónima en Java



Este blog le proporcionará un conocimiento detallado y completo de la clase anónima en Java con ejemplos y en qué se diferencia de una clase normal.

Las clases anónimas te permiten escribir código pequeño y declarar e instanciar clases al mismo tiempo. Estas clases no tienen nombre, se usa cuando desea usar cualquier clase solo una vez. Es un aspecto importante de la programación Java. Comprendamos qué es la clase anónima en Java en el siguiente orden:

Declaración de clases anónimas





Normalmente creamos una clase, es decir, declaramos una clase, pero las clases anónimas son expresiones, lo que significa que definimos la clase anónima en otra expresión . En palabras simples, la clase interna anónima es una clase sin nombres y solo se crea un objeto.

Anonymous-Class-In-Java



La clase anónima es útil cuando tenemos que crear una instancia del objeto con métodos de sobrecarga de una clase o interfaz sin crear una subclase de clase.

Anónimo se puede crear de dos formas:

que hace init en python
  • Clase (también puede ser abstracta)
  • Interfaz

En la clase anónima podemos declarar lo siguiente:



  • Campos
  • Métodos extra
  • Inicializadores de instancias
  • Clases locales

Sintaxis de la clase anónima en Java

La sintaxis de una clase anónima es como constructor, excepto que hay una definición de clase en el bloque como se muestra en el fragmento a continuación:

// AnonymousClass = interfaz, clase abstracta / concreta. AnonymousClass t = new AnonymousClass () {// métodos y campos public void someMethod () {// el código va aquí}}

Veamos el siguiente ejemplo:

El siguiente ejemplo,HolaAnónimoClase, utiliza clases anónimas en las declaraciones de inicialización de las variables localessaludar a alguienpero usa una clase local para la inicialización de la variablesaludar al mundo:

public class HelloAnonymousClass {interfaz HelloWorld {public void sayHello () public void sayHelloTo (String someone)} public void sayHello () {class GreetWorld implementa HelloWorld {String name = 'world' public void sayHello () {sayHelloTo ('world')} public void sayHelloTo (String someone) {name = someone System.out.println ('Hello' + name)}} HelloWorld greetWorld = new GreetWorld () HelloWorld greetSomeone = new HelloWorld () {String name = 'jon' public void sayHello ( ) {sayHelloTo ('Jon')} public void sayHelloTo (String someone) {name = someone System.out.println ('hola' + name)}} greetWorld.sayHello () greetSomeone.sayHelloTo ('Doe')} public static void main (String ... args) {HelloAnonymousClass myApp = new HelloAnonymousClass () myApp.sayHello ()}}

Como hemos visto, la clase anónima es una expresión, la sintaxis es como constructor, excepto que hay una definición de clase en el bloque. Considere la instanciación del objeto greetSomeone:

HelloWorld greetSomeone = new HelloWorld () {String name = 'jon' public void sayHello () {sayHelloTo ('Jon')} public void sayHelloTo (String someone) {name = someone System.out.println ('hola' + nombre) }}

La clase anónima se compone de lo siguiente:

  • nuevo operador.
  • Puede implementar una interfaz o extender una clase. Como en el ejemplo anterior, está implementando la interfaz.
  • Contiene paréntesis al igual que las clases normales para pasar argumentos al constructor.
  • Contiene un cuerpo que contiene declaraciones de métodos. No se permiten declaraciones.

La clase anónima debe formar parte de las declaraciones.

En el ejemplo anterior, la expresión de clase anónima es parte de la declaración iniciada porsaludar a alguien.

Formas de crear clases anónimas en Java

Hay 3 formas de crear una clase interna en Java

  • Extendiendo la clase

Podemos crear una clase interna anónima extendiendo otra clase, supongamos que tenemos que crear un hilo usando la clase Thread, podemos crear una clase interna anónima en lugar de crear una clase separada.

// Programa para ilustrar la clase interna anónima extendiendo otra clase class AnonymousThreadClass {public static void main (String [] args) {// Clase interna anónima que extiende la clase Thread Thread t = new Thread () {public void run () {System .out.println ('¡Hijo!')}} t.start () System.out.println ('¡Padre!')}}

Salida:

¡Padre!

¡Niño!

  • Implementando interfaz

También podemos crear una clase interna anónima implementando la interfaz. Ahora, como creamos una clase interna al extender la clase de manera similar, podemos crear una clase que implemente una interfaz.

// Programa para ilustrar la clase interna anónima implementando la clase de interfaz AnonymousThreadClass {public static void main (String [] args) {// Clase interna anónima que implementa la interfaz Runnable r = new Runnable () {public void run () {System.out .println ('Child!')}} Thread t = new Thread (r) t.start () System.out.println ('Parent!')}}

Salida:

¡Padre!

matriz de clasificación de c ++

¡Niño!

  • Como argumento para un método / constructor

Para comprender la sintaxis, veamos el siguiente ejemplo:

// Programa para ilustrar la clase interna anónima mediante la clase de argumento AnonymousThreadClass {public static void main (String [] args) {// Clase anónima con argumento de constructor Thread t = new Thread (new Runnable () {public void run () {System. out.println ('Child!')}}) t.start () System.out.println ('Parent!')}}

Salida:

¡Padre!

¡Niño!

diferencia entre mapa hash y tabla hash

Diferencia entre la clase interna regular y anónima

  • Podemos implementar múltiples números de interfaces usando una clase normal pero, con una clase interna anónima, solo podemos implementar una interfaz.

  • Con clase regular podemos extender una clase y también implementar múltiples interfaces pero, con una clase interna anónima, podemos extender una clase o implementar una interfaz pero no ambas al mismo tiempo.

  • Con anonimato nosotros no puedo escribir constructor porque la clase interna anónima no tiene nombre y el nombre del constructor debe ser el mismo que el nombre de la clase.

En este artículo, vimos qué es una clase interna anónima y cómo podemos crear una. Pasamos por la sintaxis de la clase interna anónima y también cómo podemos crear una clase anónima de 3 maneras y con esto, llegamos al final de este artículo de Clase anónima en Java. Revisar la por Edureka.

¿Tienes alguna pregunta? Menciónelo en la sección de comentarios de este artículo y nos comunicaremos con usted lo antes posible.