Прежде всего, последнее ключевое слово используется для создания константы переменной. Постоянная означает, что она не меняется. Например:
final int CM_PER_INCH = 2.54;
Вы бы объявили переменную final, потому что сантиметр на дюйм не меняется.
Если вы попытаетесь переопределить конечное значение, переменная будет объявлена первой. Например:
final String helloworld = "Hello World";
helloworld = "A String"; //helloworld still equals "Hello World"
Ошибка компиляции:
local variable is accessed from inner class, must be declared final
Если ваша переменная не может быть объявлена окончательной или вы не хотите объявлять ее окончательной, попробуйте следующее:
final String[] helloworld = new String[1];
helloworld[0] = "Hello World!";
System.out.println(helloworld[0]);
helloworld[0] = "A String";
System.out.println(helloworld[0]);
Будет напечатано:
Hello World!
A String