La interfaz Java (interfaz) es una serie de declaraciones de métodos y es una colección de características de método. Una interfaz solo tiene las características de los métodos pero sin implementación de métodos. Por lo tanto, estos métodos pueden ser implementados por diferentes clases en diferentes lugares, y estas implementaciones pueden tener diferentes comportamientos (funciones).
1. Significado de interfaz:
1. Interfaz Java, las estructuras que existen en el lenguaje Java tienen sintaxis y estructura específicas;
2. Una colección de características de métodos que tiene una clase es una abstracción lógica.
El primero se llama "interfaz Java" y la segunda se llama "interfaz".
La interfaz Java en sí no tiene ninguna implementación, porque la interfaz Java no implica apariencias, sino que solo describe el comportamiento público, por lo que la interfaz Java es más abstracta que la clase abstracta de Java.
Los métodos de la interfaz Java solo pueden ser abstractos y públicos. La interfaz Java no puede tener un constructor. La interfaz Java puede tener propiedades públicas, estáticas y finales.
2. ¿Por qué usar la interfaz Java es un lenguaje de herencia único? Si desea agregar nuevas funciones a las clases específicas con las clases principales existentes, bajo el principio de OCP, la solución es agregar clases de padres a su clase principal o agregar clases de padres a su clase principal hasta que se mueva a la parte superior de la estructura de la jerarquía de clases. De esta manera, el diseño de la inserabilidad de una clase específica se convierte en una modificación de todas las clases en toda la jerarquía.
Cuando hay una interfaz, en el ejemplo anterior, no hay necesidad de mantener todas las clases en toda la estructura de la jerarquía.
3. La interfaz tiene inserción:
Cualquier clase en una jerarquía puede implementar una interfaz, lo que afectará a todas las subclases de esta clase, pero no afectará ninguna superclases de esta clase. Esta clase tendrá que implementar los métodos especificados por esta interfaz, y sus subclases pueden heredar automáticamente estos métodos de esta clase y, por supuesto, también pueden optar por reemplazar todos estos métodos, o algunos de ellos. En este momento, estas subclases son conectables (y se pueden cargar con este tipo de interfaz, pasar e implementar todas sus subclases).
La interfaz proporciona llamadas de interpolación y método. Cuanto mayor sea la escala del sistema de software, más largo será el ciclo de vida. La interfaz garantiza la flexibilidad y escalabilidad del sistema de software y la interpolación.
Se debe precisamente a la interfaz que Java Single Heritance tiene la posibilidad de una nueva extensión (reemplazo de herencia múltiple); 3. Tipo de interfaz Java de jerarquía (y clases abstractas) generalmente se usa como punto de partida de una jerarquía de tipo.
Si una clase ya tiene un supertipo importante, entonces al implementar una interfaz, la clase puede tener otro supertipo menor, que se llama tipo híbrido.
4. Clasificación de la interfaz Java
1. Interfaz ordinaria (incluida la definición del método) Interfaz pública ActionListener {public abstract void Actionperformed (ActionEvent Event);}
2. Interfaz de identificación (sin método y definición de atributos) La interfaz de identificación es una interfaz sin ningún método y atributo. La interfaz de identificación no tiene ningún requisito semántico para la clase que lo implementa. Solo indica que la clase que la implementa pertenece a un tipo específico.
interfaz pública serializable {}; 3. La interfaz constante se refiere a usar una interfaz Java para declarar algunas constantes, y luego las clases que implementan esta interfaz usan estas constantes.
Interfaz pública AppConstants {public static final data_source_name = "test"; public static final user_name = "test"; public static final contraseña = "prueba";}
5. Características de la interfaz
1. Las variables miembros en la interfaz Java son públicas, estáticas y finales de forma predeterminada (todas las cuales se pueden omitir), y deben mostrarse e inicializarse, es decir, las variables de los miembros en la interfaz son constantes (Caps, separadas por "_" entre palabras)
2. Los métodos en la interfaz Java son de tipo público y abstracto de forma predeterminada (todos se pueden omitir). Sin cuerpos de método, no se pueden instanciar.
3. La interfaz Java solo puede contener variables miembros de los tipos públicos, estáticos, finales y métodos miembros de tipos públicos, abstractos.
4. No hay constructor en la interfaz y no se puede instanciar.
5. Una interfaz no puede implementar otra interfaz, pero puede heredar otras interfaces.
6. La interfaz Java debe implementar sus métodos abstractos a través de clases.
7. Cuando una clase implementa una determinada interfaz Java, debe implementar todos los métodos abstractos en la interfaz, de lo contrario, esta clase debe declararse como una clase abstracta
8. No se le permite crear una instancia de la interfaz (instancia), pero se le permite definir una variable de referencia del tipo de interfaz. Esta variable de referencia se refiere a una instancia de la clase que implementa esta interfaz.
9. Una clase solo puede heredar una clase principal directa, pero puede implementar múltiples interfaces, implementar indirectamente la herencia múltiple.
6. La diferencia entre las clases de la interfaz Java y Java Abstract. El enfoque del diseño orientado a objetos es la abstracción. Tanto las clases abstractas como las interfaces se encuentran en la capa superior del árbol de herencia.
Similitudes:
1. Representa la capa de abstracción del sistema. Cuando un sistema usa una clase en un árbol de herencia, debe intentar declarar la variable de referencia como el tipo abstracto superior del árbol de herencia. Esto puede mejorar el acoplamiento entre los dos sistemas. 2. Ninguno de los dos puede ser instanciado. 3. Ambos contienen métodos abstractos. Estos métodos abstractos se utilizan para describir qué servicios pueden proporcionar el sistema, pero no contienen las diferencias en el cuerpo del método:
1. La mayor diferencia es que la clase abstracta Java puede proporcionar implementaciones parciales de ciertos métodos, mientras que la interfaz Java no puede; Esta es probablemente la única ventaja de la clase abstracta de Java, pero esta ventaja es muy útil.
Puede agregar un nuevo método concreto a la clase abstracta, y todas las subclases obtendrán automáticamente este método; Pero agregue un nuevo método a la interfaz Java, y todas las clases que implementan esta interfaz no se pueden compilar con éxito, y debe agregar manualmente la implementación de este método a cada clase que implementa la interfaz;
2. La implementación de una clase abstracta solo puede ser dada por una subclase, es decir, la implementación solo puede estar en la estructura jerárquica hereditaria definida por la clase abstracta; Por lo tanto, la efectividad de una clase abstracta como una herramienta de definición de tipo se reduce considerablemente.
Interfaz Java. Cualquier clase que implementa los métodos especificados por una interfaz Java puede tener el tipo de esta interfaz, y una clase puede implementar cualquier interfaces Java múltiples, para que esta clase tenga múltiples tipos.
Como se puede ver anteriormente, la interfaz Java es una herramienta ideal para definir tipos mixtos. Las clases mixtas indican que una clase no solo tiene el comportamiento de cierto tipo primario, sino también otros comportamientos secundarios.
3. Combinando las ventajas respectivas de las clases abstractas e interfaces Java en los puntos 1 y 2, saldrá un patrón de diseño clásico:
El trabajo de declarar un tipo todavía es realizado por la interfaz Java, pero al mismo tiempo se da una clase abstracta de Java y se implementa esta interfaz. Otras clases concretas que también pertenecen a este tipo abstracto pueden optar por implementar esta interfaz Java o heredar esta clase abstracta. Es decir, en la jerarquía, la interfaz Java está en la parte superior y luego seguida de la clase abstracta. Las mayores ventajas de estos dos pueden maximizarse. Este modo es el "modo de adaptación predeterminado".
Este patrón se usa en la API del lenguaje Java, y todo sigue ciertas especificaciones de nombres: resumen + nombre de interfaz.
7. El principio general del uso de interfaces y clases abstractas:
1. Use la interfaz como la ventana para la interacción entre el sistema y el mundo exterior. De pie desde la perspectiva del usuario exterior (otro sistema), la interfaz promete al usuario qué servicios pueden proporcionar el sistema, y desde la perspectiva del mismo sistema, qué servicios debe implementar la interfaz. La interfaz es el tipo abstracto de nivel más alto en el sistema. A través de la interacción de la interfaz, el sistema de acoplamiento A entre los dos sistemas se puede mejorar para interactuar a través del sistema B. Esto significa que cuando el sistema A accede al sistema B, la variable de referencia declara la variable de referencia como el tipo de interfaz en el sistema B. Esta variable de referencia se refiere a la instancia de la clase de implementación de la interfaz en el sistema B.
interfaz pública b {}
Public Class C Implementos B {}
clase pública A {b a = new C (); }
2. La interfaz Java en sí debe ser muy estable. Una vez que se formula la interfaz Java, no está permitida que ocurra, de lo contrario tendrá un impacto en los usuarios externos y el sistema en sí. 3. Utilice clases abstractas para personalizar los puntos de extensión en el sistema y las clases abstractas para completar la implementación parcial. Algunas funciones deben implementarse a través de sus subclases.
El artículo anterior detalla los conceptos, clasificaciones y diferencias de las categorías abstractas de las interfaces Java son todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.