2013-02-11 6 views
-2

У меня есть сценарий в java.Когда объект создается

class Apple { 

    static Apple ap = new Apple(); 

    public static void main(String[] arg) { 
    } 
} 

Когда этот глобальный объект создается?
Если он создается во время загрузки класса, он загружает все нестатические элементы в это время?

+2

В вашем примере нет нестатических членов ... – assylias

+0

Возможный дубликат [Вопрос о статических переменных-членах] (http://stackoverflow.com/questions/6541805/question-about-static-member-variables) –

+0

* То, что на самом деле делает компилятор, это внутреннее создание процедуры инициализации одного класса, которая объединяет все инициализаторы статических переменных и все блоки статического инициализатора кода в том порядке, в котором они появляются в объявлении класса. Эта единственная процедура инициализации запускается автоматически, только один раз, когда класс сначала загружается * Дэвидом Фланаганом, автором Java в двух словах, –

ответ

0

ap инициализируется при первом загрузке класса в память.

Когда инициализируется ap, он создает объект Apple, и все нестатические элементы объекта ap инициализируются, как указано в конструкторе.

Таким образом, нестатические элементы ap инициализируются при загрузке класса.

Смежные вопросы