Вы можете инициализировать конечную переменную в 4 местах.
- с объявлением
- в конструкторе (только нестатический)
- в статическом инициализаторе (только для статического)
- в инициализаторе экземпляра (только нестатический)
конечная статическая переменная
Эти переменные могут быть инициализированы либо в объявлении, либо в статическом инициализаторе.
class Program {
static final int i1 = 10;
static final int i2;
static {
i2 = 10;
}
}
конечная переменная
конечные переменные могут быть инициализированы в объявлении, инициализаторе экземпляра или конструкторе:
class Program {
final int i1 = 10;
final int i2;
final int i3;
{
i2 = 10;
}
Program() {
i3 = 10;
}
}
локальные конечные переменные
Эти переменные могутинициализироваться в декларации или в любом месте после ее декларации.Локальные конечные переменные должны быть инициализированы перед использованием.
class Program {
void method() {
final int i1 = 10;
final int i2;
System.out.println(i1);
i2 = 10;
System.out.println(i2);
return ;
}
}