Добавить в корзинуПозвонить
Найти в Дзене
DEBAGanov

Java 59. Где можно инициализировать статические поля?

Статические поля в Java могут быть инициализированы в различных местах, например: public static int myInt = 10; static {
myInt = 20;
} public static void init() {
myInt = 30;
} public class MyClass {
public static int myInt;
public MyClass() {
init();
}
public static void init() {
myInt = 40;
}
} Важно понимать, что статические поля инициализируются только один раз при загрузке класса в память JVM и сохраняют свое значение до конца работы программы. 1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions Tелеграмм канал: https://t.me/DEBAGanov Мое резюме: https://github.com/DEBAGanov

Статические поля в Java могут быть инициализированы в различных местах, например:

  • Прямо при объявлении: статическое поле может быть объявлено и проинициализировано в одной строке:
public static int myInt = 10;
  • В блоке статической инициализации: статический блок инициализации - это блок кода, который выполняется только один раз, когда класс загружается в память JVM. Можно использовать этот блок для инициализации статических переменных.
static {
myInt = 20;
}
  • В статическом методе: можно также использовать статический метод для инициализации статических переменных:
public static void init() {
myInt = 30;
}
  • С помощью обычного метода, вызываемого через конструктор: такой подход менее распространен, но возможен. Например:
public class MyClass {
public static int myInt;

public MyClass() {
init();
}

public static void init() {
myInt = 40;
}
}

Важно понимать, что статические поля инициализируются только один раз при загрузке класса в память JVM и сохраняют свое значение до конца работы программы.

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov