Сертификация Java Конструкторы и инитеры // Бесплатный урок OTUS
Java 1187. Где разрешена инициализация статических/нестатических полей?
Инициализацию как статических, так и нестатических полей в Java можно выполнять внутри конструктора, блока инициализации и при объявлении переменной. Инициализация статических полей также может быть выполнена в блоке статической инициализации класса. Примеры: public class MyClass {
private int myField;
public MyClass(int myField) {
this.myField = myField;
}
} public class MyClass {
private static final String...
Java & Kotlin - Порядок инициализации полей, конструкторов и блоков
Рассмотрим самый сложный пример — представим, что у нас есть наследование, статика, конструкторы и поля (+ companion object, + init)
Порядок инициализации в Java и Kotlin немного различны, хотя и схожи по общей идее
Java:
Статические и нестатические поля и блоки инициализируются в порядке объявления (чем выше строчка, тем первее она будет инициализирована)
1. Статические поля и блоки родителя
2. Статические поля и блоки ребенка
3. Нестатические поля и блоки родителя
4. Конструктор родителя
5...