Я считаю, что самый простой способ объяснить «эффективно окончательный» - представить себе добавление модификатора final
в объявление переменной. Если при этом изменении программа продолжает вести себя одинаково, как во время компиляции, так и во время выполнения, эта переменная является фактически окончательной.