Il est généralement une classe qui ne dispose que des méthodes statiques (peut-être avec un constructeur privé et marqué abstraite/finale pour empêcher instanciation/subclassing). Il existe uniquement pour faciliter l'utilisation d'autres classes, par exemple, en fournissant un ensemble de méthodes statiques pour travailler avec les valeurs String
, en effectuant des actions supplémentaires que String
lui-même ne prend pas en charge.
Les classes d'utilitaires ne fonctionnent généralement pas sur les classes sur lesquelles vous avez le contrôle, sinon vous mettriez généralement le comportement directement dans cette classe. Ils ne sont pas très soignés en termes d'OO, mais peuvent toujours être très utiles.
Habituellement marqué 'final' par opposition à' abstract' –
@ jt-Gilkeson: Résumé a l'avantage que les nouvelles XYZ (...) sera * évidemment * ne fonctionne pas. –
Résumé _obviosuly_ indique que la classe est destinée à être étendue - l'utilisation de ce mot-clé est trompeuse, ce qui explique pourquoi l'approche utilisée par Sun, Oracle et Google est de ne pas marquer le résumé des classes. L'approche normale est la classe 'final' avec le constructeur' private'. Voir 'java.lang.Math' comme exemple. –