じゃあこうするのかなあと思ったのですが,こういう場合の定石とか
もっといいやり方とかありますか?
abstract class Foo {
 public final void hoge() {
  // みんなやるべきこと
 }
 abstract void hogeImpl();
}
class Bar extends Foo {
 void hogeImpl() {
  // Barがやるべきこと
 }
}