final - ключевое слово в языке Java - описание

Ключевое слово final может быть использовано тремя способами:

  1. первое - с помощью него можно создать эквивалент именованной константе - то есть "переменную" которую после превого присваивания уже нельзя изменить.
  2. второе - можно запретить переопределение метода в классах-наследниках данного класса, просто приписав перед именем метода в родительском классе слово final
  3. третье - можно запретить наследоваться от данного класса, приписав в его имени (в месте, где находится описание класса) слово final - такой класс не может быть абстрактным

свойства:

  1. в применении к методу final может увеличить быстродействие программы так как компилятор как бы "знает" что данный метод не может быть переопределён и встраивает вызовы этих методов - особенно в случае небольших финализированных методов код их может быть встроен напрямую прямо в точку вызова, накладные расходы на вызов метода тем самым будут сильно снижены - точнее как такого вызова вообще происходить не будет
  2. Но следует помнить, что встраивание - это лишь потенциальная возможность
  3. обычно Java разрешает (определяет) вызовы методов динамически - во время выполнения, такой подход известен под называние "позднее связывание", а встраивание методов во время компиляции - это "раннее связывание"