Comment forcer une méthode à être remplacée dans Java?

Je dois créer beaucoup de classes très similaires qui n’ont qu’une méthode différente entre elles. J’ai donc pensé que créer un cours de résumé serait un bon moyen d’y parvenir. Mais la méthode que je veux remplacer (par exemple, la méthode foo ()) n’a pas de comportement par défaut. Je ne veux pas conserver d’implémentation par défaut, obligeant toutes les classes d’extension à implémenter cette méthode. Comment puis-je faire cela?

Vous avez besoin d’une méthode abstraite sur votre classe de base:

 public abstract class BaseClass { public abstract void foo(); } 

De cette manière, vous ne spécifiez pas de comportement par défaut et vous forcez les classes non abstraites héritant de BaseClass à spécifier une implémentation pour foo .

Définissez simplement foo () comme méthode abstraite dans la classe de base:

 public abstract class Bar { abstract void foo(); } 

Reportez-vous à la section Didacticiels Java ™ (interfaces et inheritance) pour plus d’informations.

Simplement rendre la méthode abstraite.

Cela forcera toutes les sous-classes à l’implémenter, même si elle est implémentée dans une super classe de la classe abstraite.

 public abstract void foo(); 

Si vous avez une classe abstraite, faites votre méthode (disons foo abstract aussi)

 public abstract void foo(); 

Ensuite, toutes les sous-classes devront remplacer foo .

Rendre cette méthode abstract .