Existen varios tipos de clases en programación orientada a objetos, cada una con características y propósitos específicos. Las clases abstractas definen métodos que no se implementan inmediatamente, sino que sirven de base para su implementación en las clases derivadas.
Espesifica que sus metodos son sincronizados y evitando problemas con los THREAD hilo de ejecucion de forma que esto no puede empezar a correr un metodo si no acaba el otro
CLASE FINAL
Son las que terminan la cadena de herencia utiles por motivos de seguridad y eficiencia de un programa ya que permiten crear mas sub divisiones por debajo de esta clase
CLASE ABSTRACT
Aquellas que tienen por lo menos un metodo abstracto No implementan sus metodos si no que dan las bases para que no sean implementado en la herencia
CLASE PUBLIC
son muy comunes accesibles desde cualquier otra clase en la misma libreria de otro modo ha que importarlos