Puntos de conocimiento común para clases abstractas y métodos abstractos:
(1) Como clase hereditaria, la subclase debe implementar todos los métodos abstractos en la clase abstracta a menos que la subclase también sea una clase abstracta.
Es decir, si la subclase también es una clase abstracta, los métodos abstractos en la clase principal no se pueden implementar. Pero si hay una clase de no abstracto
Heredado de una subclase abstracta, es necesario implementar subclases abstractos, todos los métodos abstractos de la clase madre abstracta de subclases abstractos y calcular las cuentas nuevas y antiguas.
(2) Las clases abstractas no se pueden modificar con final.
(3) Las clases abstractas no se pueden instanciar, lo que significa que no puede crearlas a través de la nueva palabra clave cuando las usa.
(4) Las clases abstractas pueden contener métodos abstractos y métodos no abstractos. Los métodos abstractos no tienen cuerpo de método, es decir, no hay implementación concreta.
Simplemente define qué funciones tiene, pero los métodos no abstractos contienen cuerpos de métodos.
p.ej:
Persona de clase madre abstracta:
paquete com.lanhuigu.java;/*** Clase abstracta: no se puede modificar con final. * puede contener métodos abstractos y métodos no abstractos. * El método abstracto no tiene cuerpo de método, pero solo define funciones y no tiene implementación; * El método que no es de abstracto es un método normal. */public Abstract Class Person {/ * * Abstract Methods */public Abstract String Eat (); public Abstract String Sleep ();/ * * Métodos no abstractos */public String Sport () {return "La vida se encuentra en el movimiento";}}Profesor de subclase sin abstracto:
package com.lanhuigu.java;/** * Inherited from the abstract class person, all abstract methods in the parent class must be implemented*/public class Teacher extends Person {@Override public String eat() {// TODO Auto-generated method stub return "Teacher eats";}@Override public String sleep() {// TODO Auto-generated method stub return "Teacher sleeps";}}Estudiante de subclase sin abstracto:
package com.lanhuigu.java;/** * Inherited from the abstract class person, all abstract methods in the parent class must be implemented*/public class Student extends Person {@Override public String eat() {// TODO Auto-generated method stub return "Student eats";}@Override public String sleep() {// TODO Auto-generated method stub return "Student sleeps";}}Subclase abstracto Otros Persona:
paquete com.lanhuigu.java; / *** La clase abstracta hereda de la clase abstracta, y no necesita implementar el método abstracto de su clase principal*/ public Abstract Class Othersperson extiende a la persona {CALL Public Abstract String Call (); }La subclase que no se abstractan extiende Othersperson hereda de la subclase abstracta Otros Persona:
paquete com.lanhuigu.java;/** * Debe implementar la clase matriz abstracta OTROSPERSON, así como todos los métodos abstractos en la clase matriz de otros *, y las cuentas nuevas y antiguas deben establecerse juntas. */public class ExtendSthersperson extiende a los demás {@Override public String sleep () {// TODO Método Generado automático STUB return "Sleep";}@anular public String eat () {// TODO Método Generado automático retorno "EAT";}@Call String Public String Call () {// TODO Auto Método Generado Auto STUB STUB "Call";}}}}}}}}}}}}}}}}}}}Código de prueba:
paquete com.lanhuigu.java; public class testAbstract {public static void main (string [] args) {maestro maestro = new maestro (); estudiante estudiantil = new student (); // Otherperson OTROSPERSON = new OtherPerson (); // Se informa un error, la clase abstracta no puede ser instancias instancias en instancias System.out.println (maestro.eat ()); system.out.println (maestro.sleep ()); system.out.println (maestro.sport ()); // heredar el método de no abstracto de la clase principal System.out.println ("============================================================= Herve el método de no abertura de clase principal}} Salida de la consola:
Los maestros comen, la vida de los maestros reside en ejercicio
===================
Los estudiantes comen, los estudiantes duermen, sus vidas se encuentran en el ejercicio
Resumir
Lo anterior es toda la explicación detallada de las clases y métodos abstractos de programación de Java, espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a este sitio:
Explicación detallada de la clase estática en Java
Ejemplo de código de uso de Ziputil Clase de herramienta de archivo comprimido Java
Java Programación Comprensión del tema de reescribir los métodos de clase principal en subclases
Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!