Une classe abstraite, déclarée avec abstract, ne peut pas être instanciée et sert de base commune. Elle peut contenir des méthodes abstraites, sans corps, que les classes filles doivent implémenter, ainsi que du code partagé et des attributs. Elle convient quand les classes filles partagent un état et un comportement.
Exemple
abstract class Forme {
abstract double aire();
}