В Java переменные final могут быть инициализированы только один раз. Инициализация final переменных может происходить как при их объявлении, так и в конструкторе класса. Важно отметить, что не инициализированная final переменная является ошибкой во время компиляции. Если final переменная имеет ссылочный тип данных, то после ее инициализации вы можете изменять ее содержимое, но нельзя присвоить ей новое значение: public class Example {
final int x = 1; // объявление и инициализация final переменной
public Example () {
final int y; // объявление final переменной без инициализации y = 2; // инициализация final переменной }
public void modify(final int z) {
// нельзя присваивать новое значение z, так как он помечен как final System.out.println("z = " + z);
}
} В данном примере мы можем изменять содержимое ссылочной final переменной s, но не можем присвоить ей новый объект: public class Example {
final String s = "Hello";