インターフェイスを実装し、それを囲むクラスから値を返す内部プライベート クラスがあるコードを見つけました。囲んでいるクラスにインターフェイスを直接実装するのではなく、そのようなことを行うことに利益はありますか?
このようなもの:
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; }
}
}
多分それはここにある種のデザインパターンですか、それともこれに似たデザインパターンがあるのでしょうか?