En programación orientada a objetos, es útil definir qué debe hacer una clase, pero no cómo.
Un método abstracto define la firma de un método sin proporcionar implementación, y la subclase debe implementar ese método.
Una interfaz en Java te permite separar completamente la definición de lo que se debe hacer de la implementación de cómo hacerlo.
Una interfaz puede especificar métodos sin cuerpo, que deben ser implementados por clases.
No hay límite para la cantidad de clases que pueden implementar una interfaz, y una clase puede implementar múltiples interfaces.
Para implementar una interfaz, la clase debe proporcionar la implementación de los métodos descritos.
Diferentes clases pueden implementar la misma interfaz de diferentes maneras, pero comparten el mismo conjunto de métodos.
El uso de interfaces permite el polimorfismo, ya que los objetos de diferentes clases se pueden tratar indistintamente.
JDK 8 introdujo la capacidad de que las interfaces definan implementaciones predeterminadas para métodos, lo que permite que una interfaz especifique el comportamiento.
A pesar de las implementaciones estándar, la intención original de las interfaces de definir solo lo que permanece prácticamente sin cambios.
El enfoque inicial estará en las interfaces tradicionales, con una discusión de los métodos estándar al final del capítulo.
nombre de la interfaz de acceso {
nombre-método tipo ret1 (lista-param);
nombre-método tipo ret2 (lista-param);
escriba var1 = valor;
escriba var2 = valor;
// ...
nombre-método tipo retN(lista-param);
escriba varN = valor;
}
El acceso a una interfaz puede ser público o estándar (paquete-privado).
Si no se incluyen modificadores de acceso, solo los miembros de su paquete pueden acceder a la interfaz.
Cuando se declara como pública, la interfaz puede ser utilizada por cualquier código y debe estar en un archivo con el mismo nombre.
El nombre de la interfaz puede ser cualquier identificador válido.
En la forma tradicional de una interfaz, los métodos se declaran solo con su tipo de retorno y firma, siendo esencialmente métodos abstractos.
Las clases que implementan esta interfaz deben proporcionar implementaciones para todos sus métodos, que son implícitamente públicos.
Las variables en una interfaz no son variables de instancia; son implícitamente públicos, finales y estáticos, y deben inicializarse (son constantes).
Ejemplo de definición de interfaz:
interfaz pública Serie {
int getSiguiente(); // devuelve el siguiente número de la serie
reinicio nulo(); // Reanudar
void setStart(int x); // define el valor inicial
}
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3