Welcome to Our Website

Java – Interfaces

Anuncios

Una interfaz es un tipo de referencia en Java. Es similar a la clase. Es una colección de métodos abstractos. Una clase implementa una interfaz, heredando así los métodos abstractos de la interfaz.

junto con los métodos abstractos, una interfaz también puede contener constantes, métodos predeterminados, métodos estáticos y tipos anidados. Los cuerpos de los métodos solo existen para los métodos predeterminados y los métodos estáticos.,

escribir una interfaz es similar a escribir una clase. Pero una clase describe los atributos y comportamientos de un objeto. Y una interfaz contiene comportamientos que implementa una clase.

a menos que la clase que implementa la interfaz sea abstracta, todos los métodos de la interfaz deben definirse en la clase.

Una interfaz es similar a una clase de las siguientes maneras −

  • Una interfaz puede contener cualquier número de métodos.

  • una interfaz se escribe en un archivo con a .extensión java, con el nombre de la interfaz coincidiendo con el nombre del archivo.,

  • El código de bytes de una interfaz aparece en una .archivo de clase.

  • Las Interfaces aparecen en los paquetes, y su archivo de bytecode correspondiente debe estar en una estructura de directorios que coincida con el nombre del paquete.

sin embargo, una interfaz es diferente de una clase de varias maneras, incluyendo −

  • no se puede crear una instancia de una interfaz.

  • Una interfaz no contiene ningún constructores.

  • Todos los métodos en una interfaz abstracto.

  • Una interfaz no puede contener campos de instancia., Los únicos campos que pueden aparecer en una interfaz deben ser declarados tanto estáticos como finales.

  • Una interfaz no es extendido por una clase; se implementa mediante una clase.

  • Una interfaz puede extender múltiples interfaces.

declarando Interfaces

la palabra clave interfaz se utiliza para declarar una interfaz. Aquí es un simple ejemplo para declarar una interfaz −

Ejemplo

el Siguiente es un ejemplo de una interfaz −

Interfaces tienen las siguientes propiedades −

  • Una interfaz es implícitamente abstracto., No es necesario utilizar la palabra clave abstracta al declarar una interfaz.

  • cada método en una interfaz también es implícitamente abstracto, por lo que la palabra clave abstract no es necesaria.

  • Los métodos en una interfaz son implícitamente públicos.

ejemplo

/* File name : Animal.java */interface Animal { public void eat(); public void travel();}

implementación de Interfaces

Cuando una clase implementa una interfaz, puede pensar en la clase como la firma de un contrato, aceptando realizar los comportamientos específicos de la interfaz. Si una clase no realiza todos los comportamientos de la interfaz, la clase debe declararse abstracta.,

una clase utiliza la palabra clave implements para implementar una interfaz. La palabra clave implements aparece en la declaración de clase después de la porción extends de la declaración.

ejemplo

esto producirá el siguiente resultado –

salida

Mammal eatsMammal travels

al sobrescribir los métodos definidos en interfaces, hay varias reglas a seguir −

  • Las excepciones marcadas no deben declararse en métodos de implementación que no sean los declarados por el método de interfaz o subclases de los declarados por el método de interfaz.,

  • se debe mantener la firma del método de interfaz y el mismo tipo o subtipo de retorno cuando se sobrescriben los métodos.

  • una clase de implementación en sí puede ser abstracta y, si es así, no es necesario implementar métodos de interfaz.

cuando las interfaces de implementación, hay varias reglas –

  • Una clase puede implementar más de una interfaz a la vez.

  • una clase puede extender solo una clase, pero implementar muchas interfaces.

  • Una interfaz puede extender otra interfaz, de forma similar a como una clase puede extender otra clase.,

extender Interfaces

Una interfaz puede extender otra interfaz de la misma manera que una clase puede extender otra clase. La palabra clave extends se usa para extender una interfaz, y la interfaz hija hereda los métodos de la interfaz padre.

la siguiente interfaz deportiva se amplía con interfaces de Hockey y fútbol.

ejemplo

La interfaz de Hockey tiene cuatro métodos, pero hereda dos de los deportes; por lo tanto, una clase que implementa Hockey necesita implementar los seis métodos., Del mismo modo, una clase que implementa el fútbol necesita definir los tres métodos del fútbol y los dos métodos de los deportes.

extender múltiples Interfaces

Una clase Java solo puede extender una clase padre. No se permite la herencia múltiple. Las Interfaces no son clases, sin embargo, y una interfaz puede extender más de una interfaz padre.

la palabra clave extends se usa una vez, y las interfaces padre se declaran en una lista separada por comas.,

por ejemplo, si la interfaz de Hockey extendiera tanto deportes como eventos, se declararía como −

Example

public interface Hockey extends Sports, Event

Interfaces de etiquetado

el uso más común de interfaces de extensión ocurre cuando la interfaz padre no contiene ningún método. Por ejemplo, la interfaz MouseListener en java.awt.paquete de eventos java extendido.útil.EventListener, que se define como –

Example

package java.util;public interface EventListener{}

una interfaz sin métodos se denomina interfaz de etiquetado., Hay dos propósitos básicos de diseño de las interfaces de etiquetado −

crea un padre común-al igual que con la interfaz EventListener, que se extiende por docenas de otras interfaces en la API de Java, puede usar una interfaz de etiquetado para crear un padre común entre un grupo de interfaces. Por ejemplo, cuando una interfaz extiende EventListener, la JVM sabe que esta interfaz particular se va a utilizar en un escenario de delegación de eventos.

agrega un tipo de datos a una clase − esta situación es de donde proviene el término, etiquetado., Una clase que implementa una interfaz de etiquetado no necesita definir ningún método (ya que la interfaz no tiene ninguno), pero la clase se convierte en un tipo de interfaz a través del polimorfismo.

Anuncios

Deja una respuesta

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