インターフェイスを実装し、それを囲むクラスから値を返す内部プライベート クラスがあるコードを見つけました。囲んでいるクラスにインターフェイスを直接実装するのではなく、そのようなことを行うことに利益はありますか?
このようなもの:
public class Foo {
 public Whatever getWhatever() {  return new Boo(); }
 private Whatever boo;
 private int n;
 private class Boo implements Whatever {
  @Override int getN() { returns n; }
 }
}
多分それはここにある種のデザインパターンですか、それともこれに似たデザインパターンがあるのでしょうか?