Инициализация по требованию .... Джошуа Блох ..
Я думаю, что если ваш внутренний класс статический, ваш класс-держатель также должен быть статическим.
private static class SingletonHolder {
static final Singleton instance = new Singleton();
}
Или почему бы не так?почему класс внутреннего держателя вообще?
public class NormalClass{
private static class InnerClass{
private static InnerClass instance = null;
private InnerClass(){}
public static InnerClass getInstance() {
if(null==NormalClass.InnerClass.instance){
NormalClass.InnerClass.instance = new InnerClass();
}
return NormalClass.InnerClass.instance;
}
}
public void test(){
InnerClass.getInstance();
}
}