外部クラスのメソッドで新しいインスタンスを作成している静的内部クラスを宣言しました。しかし、メソッドで毎回同じ Inner クラスのインスタンスが使用されていることを示唆する結果が得られています。例 以下、
public class Outer{
public method m(){
Inner n = new Inner(); //Creating local instance of Nested class
n.something();
}
public static class Inner{
Map<K,V> cache = new Map<K,V>();
void something(){
//use and update cache;
}
}
}
public Test{
public static void main(String a[]){
Outer o = new Outer();
o.m();
o.m(); //cache was still available
}
}
Inner クラスの 2 つのインスタンスが作成されない理由を教えてください。また、内部クラスから
削除すると、この動作は変更されますか?static