Проблема со статическим полем и синглтоном

У меня есть два класса:

public class Singleton{
    private Singleton(){...}

    private static class InstanceHolder{
        private static final Singleton instance=new Singleton();
    }

    public static Singleton getInstance(){
        return InstanceHolder.instance;
    }
}

и

public class Someclass{
    private static final Singleton singleton=Singleton.getInstance();

    public static Singleton getSingleton(){
        return singleton;
    }
}

Проблема

Если где-то (фактически, в другом конструкторе класса singleton) я использую что-то вроде этого:

private final Singleton singleton=Someclass.getSingleton();

мой singleton всегда null

Вопрос Почему?

7
задан Dmitry Zaytsev 24 January 2012 в 12:49
поделиться