Métodos predeterminados en interfaces

Métodos predeterminados en interfaces

En la programación de Java, puede haber casos en los que el desarrollador necesita agregar varias características utilizando tanto el "interfaces" y "clases". Por ejemplo, clasificar las funcionalidades por separado considerando su asociación. En tales casos, el "métodos predeterminados"En las interfaces ayudan al programador a clasificar y acceder a los datos de manera efectiva.

Este artículo explicará el uso e implementación de la Java "métodos predeterminados"En las interfaces.

¿Cuáles son los métodos predeterminados en las interfaces en Java??

El "métodos predeterminados"En las interfaces, proporcionan una funcionalidad adicional al tipo dado sin interrumpir las clases de implementación. Estos métodos se acumulan dentro de la interfaz y no son abstractos.

Sintaxis

interfaz pública interfacename
vacío abc ();
Void predeterminado xyz ()
//cuerpo

En esta sintaxis:

  • "a B C"Es un método abstracto.
  • "xyz"Es el método predeterminado.

Ejemplo 1: Implementación del método predeterminado desde un archivo de interfaz separado

En este ejemplo, se puede implementar una interfaz desde un archivo externo, y el método predeterminado de la interfaz se puede importar y ejecutar desde este archivo a través de un objeto de clase.

Código de interfaz

Descripción general Las siguientes líneas de código:

Rollo de interfaz pública
nombre vacío ();
Void Rollno ()
Sistema.afuera.println ("rollo no es: 1");

En el archivo de interfaz, realice los siguientes pasos:

  • En primer lugar, cree una interfaz llamada "rollo".
  • Dentro de esta interfaz, primero, especifique el método abstracto "Nombre()".
  • Ahora, defina el método predeterminado llamado "Rollno ()"Mostrar el mensaje establecido.

Código de clase

Pasemos al código de clase proporcionado a continuación:

Clase Student Implements Roll
Nombre de la void publicitaria ()
Sistema.afuera.println ("El nombre es: Harry");

clase pública InterfacedFault
public static void main (string args [])
Objeto de estudiante = nuevo estudiante ();
objeto.Nombre();
objeto.rollno ();

En la clase, aplique los pasos proporcionados a continuación:

  • Defina la clase "Alumno"Implementando la interfaz discutida, yo.mi., "rollo".
  • En la clase, defina el método abstracto "Nombre()"Especificado en la interfaz.
  • En general, cree un objeto de la clase llamado "objeto" utilizando el "nuevo"Palabra clave y la"Alumno()"Constructor, respectivamente.
  • Después de eso, invoque los métodos de interfaz abstracto y predeterminado al referirse al objeto de clase, respectivamente.

Producción

De la salida anterior, se puede observar que el método predeterminado de la interfaz se implementa en la clase adecuadamente.

Ejemplo 2: Implementación de métodos predeterminados y estáticos desde la interfaz definida en el mismo archivo

En este ejemplo particular, la interfaz definida se puede implementar en el mismo archivo y los métodos predeterminados y estáticos se pueden invocar en el "principal":

interfaz xyz
predeterminado void defmet ()
Sistema.afuera.println ("predeterminado!");

static void statmeth (string msg)
Sistema.afuera.println (msg);

la clase Defmeth implementa xyz
public void classFunc (string val)
Sistema.afuera.println (val);

interfaz de clase pública1
public static void main (string [] args)
defmeth object = new defmeth ();
objeto.defmet ();
xyz.statmeth ("estático!");
objeto.ClassFunc ("Función de clase!");

Aplique los siguientes pasos según lo dispuesto en el fragmento de código anterior:

  • Del mismo modo, declare una interfaz llamada "xyz".
  • Después de eso, defina los métodos predeterminados y estáticos llamados "Defmet ()" y "statmeth ()"Mostrar el mensaje dado y el argumento aprobado, respectivamente.
  • Ahora, especifique la clase llamada "defemetir"Implementación de la interfaz.
  • Dentro de esta clase, defina la función "classFunc ()"Registro del mensaje proporcionado.
  • En el "principal", Cree un objeto de la clase que recuerde el enfoque discutido.
  • En el siguiente paso, consulte el método de interfaz predeterminado "Defmet ()".
  • Además, apunte al método estático acumulado, i.mi., "estadística"Dentro de la interfaz referiéndose a ella (interfaz).
  • Nota: El "estáticoEl método se invoca independientemente del objeto creado.
  • Por último, invoca la función de clase contenida "classFunc ()"Al pasar el argumento de cadena declarado.

Producción

En este resultado, se puede implicar que los mensajes correspondientes contra cada uno de los métodos invocados se muestran en consecuencia.

Conclusión

El java "métodos predeterminados"En las interfaces se implementan en interfaces. Estos métodos se pueden invocar con la ayuda de instancias de clase y proporcionar características adicionales. Estos métodos tienen un cuerpo a diferencia del "métodos abstractos". Este blog discutió la implementación de los métodos predeterminados de Java en interfaces.