Red de conocimiento informático - Conocimiento informático - La palabra clave para definir una clase abstracta es

La palabra clave para definir una clase abstracta es

La palabra clave para definir una clase abstracta es abstract.

Una clase declarada usando la palabra clave abstract se llama "clase abstracta". Si una clase contiene uno o más métodos abstractos, la clase debe designarse abstracta. El "método abstracto" es un método incompleto que contiene sólo una declaración y ningún cuerpo del método.

La sintaxis utilizada al declarar métodos abstractos: abstract, void.

Si heredas de una clase abstracta y quieres generar un objeto de un nuevo tipo, debes proporcionar definiciones de métodos para todos los métodos abstractos en la clase base.

Si no haces esto (puedes elegir no hacerlo), la clase derivada también será abstracta y el compilador nos obligará a usar la palabra clave abstract para marcar la naturaleza "abstracta". de esa clase.

Una clase puede declararse como "clase abstracta" incluso si no incluye ningún método abstracto. Esta capacidad es útil si una clase no necesariamente tiene ningún método abstracto y queremos deshabilitar todas las instancias de esa clase.

Interfaz de comparación:

Capa de definición de sintaxis:

En el modo de clase abstracta, Demo puede tener sus propios miembros de datos o métodos de miembros no abstractos, y en el Implementación del modo de interfaz, la demostración solo puede tener miembros de datos estáticos que no se pueden modificar (es decir, deben ser estáticos finales, pero los miembros de datos generalmente no están definidos en las interfaces), y todos los métodos de los miembros son abstractos.

Nivel de programación:

La clase abstracta representa una relación de herencia en el lenguaje Java, y una clase solo puede usar la relación de herencia una vez. Sin embargo, una clase puede implementar múltiples interfaces.

Nivel de concepto de diseño:

La clase abstracta incorpora una relación de herencia en el lenguaje Java. Para que la relación de herencia sea razonable, debe existir "es" entre la clase principal y la clase derivada. a", es decir, la clase principal y la clase derivada deben ser conceptualmente iguales.

Este no es el caso de las interfaces. No se requiere que el implementador de la interfaz y la definición de la interfaz sean conceptualmente consistentes, solo implementen el contrato (función) definido por la interfaz.