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. A Java La interfaz 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, entendamos la interfaz en Java con ejemplo:
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
Haga clic aquí si el video no es accesible
¿Por qué se requiere una interfaz?
Comprender el uso de la interfaz en Java mejor, veamos un Java ejemplo de interfaz. La clase “Reproductor multimedia” tiene dos subclases: reproductor de CD y reproductor de DVD. Cada uno tiene su implementación de interfaz única en Java Método para reproducir música.
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 tanto, Java no permite múltiples herencia.
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.
El libro de reglas para la interfaz dice:
- A Java La interfaz de implementación 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".
Java Ejemplo de interfaz:
Entendamos el siguiente programa de interfaz en 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. Observe la salida de la interfaz en Java programa.
Diferencia entre clase e interfaz
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
- A Java la clase puede implementar múltiples Java Interfaces. 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, la variable de interfaz debe inicializarse. De lo contrario, el compilador generará 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