Встречается на собеседованиях • сегодня
Что происходит при подъеме контекста
Подъем контекста (hoisting) в Java не существует — это особенность JavaScript. Однако в Java есть аналогичные концепции, связанные с порядком инициализации:
- Статические поля и блоки инициализируются при загрузке класса в порядке объявления
- Нестатические поля инициализируются перед вызовом конструктора
- Локальные переменные должны быть явно инициализированы перед использованием
Пример:
java
class Example {
static int x = initX(); // статическая инициализация
static {
System.out.println("Static block"); // выполнится вторым
}
int y = initY(); // инициализация экземпляра
static int initX() {
System.out.println("Static field init");
return 1;
}
Example() {
System.out.println("Constructor");
}
int initY() {
System.out.println("Instance field init");
return 2;
}
}Порядок вывода:
- Static field init
- Static block
- Instance field init
- Constructor

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы