Interfaz en Java con ejemplo

¿Qué es la interfaz en Java?

An Interfaz en Java El lenguaje de programación se define como un tipo abstracto utilizado para especificar el comportamiento de una clase. Una interfaz Java contiene constantes estáticas y métodos abstractos. Una clase puede implementar múltiples interfaces. En Java, las interfaces se declaran utilizando la palabra clave interface. Todos los métodos de la interfaz son implícitamente públicos y abstractos.

Sintaxis para declarar interfaz

Para utilizar una interfaz en su clase, agregue la palabra clave "implementos" después del nombre de su clase seguida del nombre de la interfaz.

interface {
//methods
}

Ejemplo de implementación de interfaz

Ahora, comprendamos la interfaz en Java con un ejemplo:

class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle

Haga Clic en here si el video no es accesible

¿Por qué se requiere una interfaz?

Para comprender mejor el uso de la interfaz en Java, veamos un ejemplo de interfaz Java. La clase “Reproductor multimedia” tiene dos subclases: reproductor de CD y reproductor de DVD. Cada uno tiene su implementación de interfaz única en el método Java para reproducir música.

¿Por qué se requiere una interfaz?

Otra clase de "unidad combinada" hereda tanto el CD como el DVD (consulte la imagen a continuación). ¿Qué método de juego debería heredar? Esto puede causar serios problemas de diseño. Y por lo tanto, Java no permite múltiples herencia.

¿Por qué se requiere una interfaz?

Ahora tomemos otro ejemplo de Perro.

Supongamos que tiene un requisito donde la clase "perro" hereda la clase "animal" y "Mascota" (ver imagen a continuación). Pero no puedes extender dos clases en Java. Entonces, ¿qué harías? La solución es la interfaz.

¿Por qué se requiere una interfaz?

El libro de reglas para la interfaz dice:

  • Una interfaz de implementación Java es una clase 100% abstracta y solo tiene métodos abstractos.
  • La clase puede implementar cualquier número de interfaces.

La clase Perro puede extenderse a la clase "Animal" e implementar la interfaz como "Mascota".

¿Por qué se requiere una interfaz?

Ejemplo de interfaz Java:

Entendamos el siguiente programa de interfaz en Java:

Paso 1) Copiar seguimientowing código en un editor.

interface Pet{
  public void test();
}
class Dog implements Pet{
   public void test(){
     System.out.println("Interface Method Implemented");
  }
   public static void main(String args[]){
     Pet p = new Dog();
     p.test();
  }
}

Paso 2) Guarde, compile y ejecute el código. Observe la salida de la interfaz en Programa Java.

Diferencia entre clase e interfaz

Clase
Fácil de usar
En clase, puedes crear una instancia de una variable y crear un objeto. En una interfaz, no se puede crear una instancia de una variable y crear un objeto.
La clase puede contener métodos concretos (con implementación) La interfaz no puede contener métodos concretos (con implementación)
Los especificadores de acceso utilizados con las clases son privados, protegidos y públicos. En Interface solo se utiliza un especificador: Público.

¿Cuándo utilizar la interfaz y la clase abstracta?

  • Utilice una clase abstracta cuando sea necesario definir una plantilla para un grupo de subclases
  • Utilice una interfaz cuando sea necesario definir un rol para otras clases, independientemente del árbol de herencia de estas clases.

Debes saber datos sobre la interfaz

  • Una clase Java puede implementar múltiples interfaces Java. Es necesario que la clase implemente todos los métodos declarados en las interfaces.
  • La clase debe anular todos los métodos abstractos declarados en la interfaz.
  • La interfaz permite enviar un mensaje a un objeto sin importar a qué clases pertenece.
  • La clase debe proporcionar funcionalidad para los métodos declarados en la interfaz.
  • Todos los métodos en una interfaz son implícitamente públicos y abstractos.
  • No se puede crear una instancia de una interfaz
  • Una referencia de interfaz puede apuntar a objetos de sus clases de implementación.
  • Una interfaz puede extenderse desde una o varias interfaces. La clase puede extender solo una clase pero implementar cualquier número de interfaces
  • Una interfaz no puede implementar otra interfaz. Tiene que ampliar otra interfaz si es necesario.
  • Una interfaz que se declara dentro de otra interfaz se denomina interfaz anidada.
  • En el momento de la declaración, se debe inicializar la variable de interfaz. Otrowise, el compilador arrojará un error.
  • La clase no puede implementar dos interfaces en Java que tengan métodos con el mismo nombre pero diferente tipo de retorno.

Resumen:

  • La clase que implementa la interfaz debe proporcionar funcionalidad para los métodos declarados en la interfaz.
  • Todos los métodos en una interfaz son implícitamente públicos y abstractos.
  • No se puede crear una instancia de una interfaz
  • Una referencia de interfaz puede apuntar a objetos de sus clases de implementación.
  • Una interfaz puede extenderse desde una o varias interfaces. Una clase puede extender solo una clase pero implementar cualquier número de interfaces