1. Clase abstracta:
(1). La clase abstracta se abstrae a toda la clase, incluidos atributos y comportamientos. La clase de abstracción Java se usa como la interfaz Java para declarar un nuevo tipo. Y como punto de partida de un tipo de estructura de nivel.
(2).
Copiar código del código de la siguiente manera:
Public Abstract Class AbstractDemo {
/**propiedad*/
Nombre de cadena privada;
/**método*/
Public Abstract void Fun ();
}
(3).
R: No existe necesariamente un método abstracto en la clase abstracta, pero la clase con métodos abstractos debe definirse como clases abstractas.
B: En el idioma Java, hay dos tipos, uno es una clase específica y la otra es la categoría abstracta.
La clase específica puede ser instanciada, y la clase abstracta no puede ser instinto.
C: Para las clases abstractas, si necesita agregar un nuevo método, puede agregar una implementación específica directamente a la clase abstracta, y la subclase no se puede cambiar;
D: El método de abstracción solo se declara, y no hay una implementación específica. La clase abstracta existe para la herencia.
E: Para una clase principal, si uno de sus métodos no tiene ningún sentido en la clase principal, debe implementarse de acuerdo con las necesidades reales de la subclase, entonces este método puede declararse como el método abstracto. Esta clase también puede ser un resumen de abstracto.
2. Interfaz:
(1). La interfaz se abstrae al local (comportamiento).
(2).
Copiar código del código de la siguiente manera:
Prueba de interfaz pública {
/** Método abstracto*/
Public Abstract void Fun ();
}
(3).
La interfaz puede contener variables y métodos, pero las variables en la interfaz se ocultarán como la final estática pública. El método está oculto como el método público abstracto y solo puede ser el método público abstracto.
3. Las diferencias y conexiones entre interfaces y clases abstractas:
(1).
(2).
(3). Si una clase hereda una determinada clase abstracta, la subclase debe ser un tipo de clase abstracta, y la implementación de la interfaz es o no.
(4). Puede haber métodos generales para métodos abstractos en clases abstractas. Si es un método abstracto, solo hay un método de método. Si se trata de un método general, hay métodos y métodos.
4. Razones para usar la interfaz:
(1). Porque Java se hereda solo.
(2).
(3).
5. Pregunta:
En el libro "Java Programming Thought", la clase abstracta se define como "clase que contiene métodos abstractos", pero luego se encuentra que si una clase no incluye métodos abstractos, es solo una clase abstracta modificada por abstracto. En otras palabras, las clases abstractas no necesariamente contienen métodos abstractos. Porque si una clase abstracta no incluye ningún método abstracto, ¿por qué está diseñado como una clase abstracta?
Comprensión personal:
El propósito de la categoría abstracta se usa para heredar. El método abstracto en la clase abstracta es permitir que las subclases hereden clases abstractas para lograr métodos abstractos en la clase abstracta y lograr diferentes funciones de acuerdo con las necesidades de las subclases.