¿Qué es una interfaz en Java con ejemplo?

¿Qué es una interfaz en Java?

Un Interfaz en Java en programación se define como un tipo abstracto utilizado para especificar el comportamiento de la clase. La interfaz de Java contiene constantes estáticas y modos abstractos. Una clase puede implementar múltiples interfaces. En Java, las interfaces se validan mediante la palabra clave interface. Cada modo de la interfaz es público y abstracto.

que es una interfaz java

Sintaxis para interfaces publicitarias

interface {
//methods
}

Para usar una interfaz en su clase, adjunte la palabra clave «herramientas» al nombre de su clase seguida del nombre de la interfaz.

Ejemplo de implementación de interfaz

class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle

¿Por qué se necesita la interfaz?

Para comprender mejor el concepto de interfaz Java, consulte el ejemplo. La clase «Media Player» tiene dos subclases: reproductor de CD y reproductor de DVD. Cada uno tiene su propio modo de funcionamiento único para reproducir música.

Otro CD y DVD hereda otra «unidad combinada» (consulte la imagen a continuación). ¿Qué modo de juego debería heredar? Esto puede ocasionar serios problemas de diseño. Por tanto, Java no permite la herencia múltiple.

Ahora tomemos otro ejemplo de un perro.

Suponga que tiene un requisito para una clase de «perro» que hereda «animal» y «Mascota» (vea la imagen a continuación). Pero no puede extender dos clases en Java. Entonces, ¿qué harías? La solución es Interface.

El libro de reglas de la interfaz dice:

  • Tiene una interfaz de clase 100% abstracta y solo tiene modos abstractos.
  • Una clase puede implementar cualquier número de interfaces.

Class Dog puede expandirse a la clase «Animal» e implementar la interfaz como «Pet».

Ejemplo de interfaz Java:

Paso 1) Copie el siguiente 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. Mira la salida.

Diferencia entre clase e interfaz

Clase
Interfaz
En clase, puede agregar variables instantáneamente y crear un objeto.En una interfaz, no puede agregar variables instantáneamente y crear un objeto.
Puede haber métodos concretos (para aplicar) en clase.La interfaz no puede contener métodos concretos (para implementación)
Los especificadores de acceso utilizados son para clases privadas, protegidas y públicas.Solo se utiliza un especificador en la interfaz: público.

¿Cuándo se pueden utilizar una interfaz y una clase abstracta?

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

Necesita conocer datos sobre la interfaz

  • La clase Java puede implementar múltiples interfaces Java. La clase debe implementar 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 mencionar las clases a las que pertenece.
  • La clase debe proporcionar funcionalidad para los métodos declarados en la interfaz.
  • Cada método está en una interfaz pública y abstracta implícita
  • La interfaz no se puede agregar instantáneamente
  • Una referencia de interfaz puede hacer referencia a objetos para sus clases de implementación.
  • La interfaz puede extenderse desde una o varias interfaces. Una clase solo puede extender una clase implementando cualquier número de interfaces
  • No se puede implementar otra interfaz. Necesita expandir 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 iniciar la variable de interfaz. De lo contrario, el compilador debe generar un error.
  • La clase no puede implementar dos interfaces en java que tengan métodos con el mismo nombre pero un tipo de retorno diferente.

Resumen:

  • La clase que implementa la interfaz debe proporcionar funcionalidad a los métodos declarados en la interfaz.
  • Cada método está en una interfaz pública y abstracta implícita
  • La interfaz no se puede agregar instantáneamente
  • Una referencia de interfaz puede hacer referencia a objetos para sus clases de implementación.
  • La interfaz puede extenderse desde una o varias interfaces. Una clase solo puede extender una clase implementando cualquier número de interfaces

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *