Ayúdame a entender una frase del libro de Java
Los estudiantes pasan a la página X (X es un número natural) de la clase de literatura clásica de Java. La siguiente oración explica:
1. "No hay ningún cuerpo de programa en la interfaz, solo se definen variables miembro finales estáticas en la interfaz": esta oración le indica las reglas de definición de la interfaz, solo se define estática. en la interfaz Final es una variable miembro estática (es decir, se puede acceder a ella sin creación de instancias y ocupa una sola memoria) y final (es decir, no se puede cambiar, es decir, una constante). El hecho de que si estas son las palabras originales del libro demuestra que es un irresponsable. Debido a que la interfaz no solo define variables miembro, también puede declarar métodos públicos o abstractos que no están implementados. Estos métodos no están implementados (es decir, no hay un cuerpo de método rodeado por {}) y la razón por la que solo se pueden definir variables miembro finales estáticas se explicará después de explicar la declaración.
2. "La ventaja de la interfaz es que da la ilusión de obedecer las reglas de herencia única de la tecnología Java": Esto es como se dijo arriba. Hay políticas y tengo contramedidas. Es solo un hijo. Papá, ¿verdad? ¡Reconozco a mi padrino! Es natural que un ahijado aprenda de su padrino, ¿verdad?
3. "Cuando una definición de clase solo puede extender una única clase, puede implementar las múltiples interfaces requeridas.
": La llamada extensión es un poco extraña, generalmente Cuando decimos que A se extiende desde B, generalmente significa que la subclase se extiende desde la clase principal, por lo que esta oración parece ser lo opuesto, ¿verdad? Parece que debería ser "cuando una definición de clase sólo puede extenderse desde una única clase". Por supuesto, la intención original del autor debe ser que usted tenga una buena idea. Tengo una escalera de pared y no permito la herencia múltiple, pero puedo implementar múltiples interfaces y realizar las funciones de diferentes interfaces. Se logra la atención. en lugar de herencia.
Vale, lógicamente, he terminado de responder a tu pregunta, hermano. Aunque la recompensa es 0 puntos, estos días me he obsesionado con responder preguntas. Aunque tengo poco talento y conocimiento, todavía quiero compartirlo con los demás. Entonces, hablemos de mi comprensión de la interfaz (en realidad, es básicamente lo que aprendí de mi maestro anterior) y no te rías si te equivocas.
Las interfaces son como elefantes, engañosas y en constante cambio. Por ejemplo, alguien dice que corres como una tortuga. Esto se puede decir que tanto tú como la tortuga implementan el mismo "movimiento" de interfaz. usted y la tortuga implementan el "movimiento". Ha aprendido el método "trotar ()" en este ejercicio, pero tenga en cuenta que usted y la tortuga son sólo algo similares en términos de ejercicio. No crea que usted es la tortuga y. la tortuga no te conviene;
Y la herencia es una relación de sí, por ejemplo, un camión es un coche. Nadie se reirá, ¿verdad?
Ahora viene el punto clave. El uso de clases e interfaces se debe en última instancia a necesidades de gestión.
La gente pensará en usar clases al definir una clase de objetos. Por ejemplo, las personas, los chinos, los villanos, los caballeros, etc., pertenecen a la misma categoría. Con la herencia, las personas pueden comprender fácilmente cómo serán sus descendientes al comprender la categoría principal de personas. Entonces, es imposible que todas las cosas en el mundo pertenezcan a la misma categoría, pero tendrán similitudes, como las tortugas, que son similares a algunos humanos, tal como en el ejemplo anterior. Entonces, ¿qué debo hacer si quiero contar a los tipos que corren tan lento que pueden matar gente? Por supuesto que es la interfaz. Se dice que todos han implementado esta interfaz, así que en el futuro contaré a estos muchachos para ver quién implementó esta interfaz y tiene esta función poco envidiable. Cuando se usa en programas, se puede acceder a los métodos que pertenecen a la interfaz en todas las instancias que implementan la interfaz a través de la referencia de la interfaz. Por ejemplo, la clase Human y la clase Wugui implementan el método manPao() de la interfaz YunDong.
Entonces la raza humano-tortuga se puede lograr de las siguientes maneras:
YunDong man=new Human();
YunDong gui=new Wugui();
man. manPao();
gui.manPao();
Eso es todo, pero si ganamos o perdemos depende de si el humano puede aprender a dormir como un conejo~
Está bien ~ Eso es todo. En cuanto a lo que mencioné anteriormente sobre por qué las interfaces solo pueden escribir métodos no implementados y variables miembro finales estáticas, es cuestión de tiempo y no lo entiendo muy a fondo. No presumas, solo recuerda En una palabra, ¡esta es la regla! Jeje~
Déjame hablar de interfaces nuevamente. Al principio, siempre me preguntaba, ¿por qué necesitamos interfaces cuando tenemos clases? Tengo esa sensación porque había muy pocas clases escritas en ese momento, y la mayoría de ellas eran heredadas, así que no lo sé. Más tarde, cuando escribí muchas clases diferentes, me di cuenta de que las interfaces son mejores que las clases. Es mucho mejor ocultar la información del objeto, usas la interfaz para administrar muchas clases que implementan la interfaz. Piénsalo, qué genial, ¿quién sabe qué tipo de desorden son estas clases que administras?
Oye~ me duelen las manos de tanto escribir, así que detengámonos aquí. Todavía estoy en el trabajo~ Supongo que el jefe está haciendo cola para comprar entradas olímpicas, jaja. En cuanto a lo anterior, debería ser bastante simple para los amigos que inicialmente están expuestos a las interfaces de Java. Es hora de detenerse aquí. Más tarde, cuando aprenda patrones de diseño y marcos como Spring, podrá comprender mejor el papel. Las interfaces en la gestión de clases son poderosas. A veces no te quedas pensando si algo está disponible o no, pero ¿por qué tienes que usarlo? Es conveniente, parece superfluo, pero en realidad tiene su propio efecto mágico. ¡Tómate tu tiempo y un día sentirás que, cuando mires hacia atrás, ella está en la penumbra!