Compile-time constant в Java — это переменная, объявленная с модификаторами static final. Модификатор public необязательный. Эти константы вычисляются и заменяются своими реальными значениями на этапе компиляции, а не во время выполнения программы.
final гарантирует, что значение не может быть изменено после инициализацииНа этапе компиляции Java-компилятор вычисляет выражение константы и заменяет все ссылки на неё литеральным значением. Это возможно потому, что компилятор заранее точно знает это значение и может гарантировать, что оно не изменится во время выполнения программы.
public static final int MAX_USERS = 100;
static final String APP_NAME = "MyApp";
final double PI = 3.14159;
В скомпилированном bytecode ссылки на MAX_USERS заменяются напрямую на 100, вместо того чтобы обращаться к переменной во время выполнения.
Константа времени компиляции должна быть объявлена с модификаторами static и final, чтобы компилятор Java распознал её как такую.
Новый — ещё не проверен сообществом
Вы