Crear una clase abstracta en Java

Un clase abstracta en Java es una clase que contiene una o más métodos abstractos, que son simplemente declaraciones de métodos sin un cuerpo - es decir, sin el código ejecutable que implementa la clase o método. Un método abstracto es como un prototipo para un método, declarando tipo de retorno y el parámetro de la lista del método, pero no proporciona una implementación real del método.

No se puede crear una instancia de una clase abstracta. Sin embargo, puede crear una subclase que se extiende una clase abstracta y proporciona una implementación de los métodos abstractos definidos por la clase abstracta. Puede crear una instancia de la subclase.

Para crear un método abstracto, se especifica el modificador abstracto y reemplazar el cuerpo del método con un punto y coma:

de tipo de retorno nombre-método public abstract (parámetro-lista) -

He aquí un ejemplo:


int éxito abstracto público (int batSpeed) -

Para crear una clase abstracta, se utiliza el abstracto en la declaración de la clase e incluyen al menos un método abstracto. Por ejemplo:

clase Bola abstracta pública {int éxito abstracto público (int batSpeed) -}

Usted puede crear una subclase de una clase abstracta como esto:

clase pública se extiende del béisbol Bola {public int golpe (int batSpeed) {// código que implementa el método de golpe va aquí}}

Cuando subclase una clase abstracta, la subclase debe proporcionar una implementación para cada método de resumen en la clase abstracta. En otras palabras, debe reemplazar cada método abstracto.


Las clases abstractas son útiles cuando se quiere crear un tipo genérico que se utiliza como la superclase para dos o más subclases, pero la misma superclase no representa un objeto real. Si todos los empleados están bien asalariados o por hora, por ejemplo, tiene sentido para crear un resumen Empleado clase y luego usarlo como clase base para la EmpleadoAsalariado y EmpleadoPorHoras subclases.

Aquí hay algunos detalles adicionales con respecto a las clases abstractas:

  • No todos los métodos en una clase abstracta que ser abstracto. Una clase puede proporcionar una implementación para algunos de sus métodos pero no otros. De hecho, incluso si una clase no tiene ningún métodos abstractos, todavía puede declararlo como abstracto. (En ese caso, sin embargo, la clase no puede ser instanciada.)

  • Un método privado no puede ser abstracta. Todos los métodos abstractos deben ser públicas.

  • Una clase no puede ser a la vez abstracto y final.




» » » » Crear una clase abstracta en Java