回答の 1 つで以下の例を見つけました: Java 内部クラスと静的なネストされたクラス
public class Container {
public class Item{
Object data;
public Container getContainer(){
return Container.this;
}
public Item(Object data) {
super();
this.data = data;
}
}
public static Item create(Object data){
// does not compile since no instance of Container is available
return new Item(data);
}
public Item createSubItem(Object data){
// compiles, since 'this' Container is available
return new Item(data);
}
}
なぜこのようなことをするのか知りたいです:つまり、コンテナのインスタンスを取得するには、なぜ内部クラスのインスタンスを作成するのですか? このアプローチの用途は何ですか?どのデザインパターンですか?上記のアプローチは、メンテナンス プロジェクトの 1 つで既に使用されています。