APIとして、あるインタフェースHogeのデフォルト実装(不変)を用意しようと思うんだけど、

(1)ユーティリティクラスHogesを作って、Hoges.DEFAULTを使ってもらうようにするのと、
(2)Hogeを継承したクラスDefaultHogeを作って、
シングルトンDefaultHoge.INSTANCEを使ってもらうようにするのと

使い分けの基準とかある?ぱっと考えたところ、

(1)は、Hogeに関する他の実装やユーティリティメソッドを後に追加するときに
追加する場所がまとまっていて、使い勝手が良いかもしれない。
(2)は、Javadocを追加する場所があるので、それぞれのメソッドに
どのような規定値を使っているかの説明をするのに便利かもしれない。