Final представляет значение, которое должно быть определено во время выполнения и не подлежит изменению. Ключевое слово final используется в ситуациях, когда значение выводится во время выполнения (т.е. когда приложение активно). Опять же, присвоенное значение является неизменяемым; однако, в отличие от значения const, оно не может быть известно во время компиляции. Если вы попытаетесь выполнить присвоение конечной переменной, которая уже была установлена, компилятор выдаст сообщение об ошибке.