Кінцеві змінні всередині методу в Java

Як правило, кінцева змінна повинна бути ініціалізована лише один раз. Інші ініціалізації не допускаються. Якщо це так, що відбувається, коли кінцева змінна оголошується всередині методу. Припустимо, що метод, в якому кінцева змінна оголошується в межах, викликається/викликається тричі, оператор декларації цієї кінцевої змінної в межах методу виконується тричі, і кінцева змінна повинна бути ініціалізована тричі, що є незаконним конкретно в Java за згодою. У такому сценарії, як може компілятор підтримувати кінцеву змінну всередині методу?

15
, що є забороненим у Java за умовами - ні, це не так.
додано Автор user unknown, джерело
Ну, що відбувається, коли ви спробуєте це?
додано Автор Brian Roach, джерело
Це справжнє питання ... навіть якщо [неймовірно] нерозумно [і самостійно виявити його з поворотом напівправди].
додано Автор user166390, джерело
Ніяких проблем, але таке питання сталося зі мною.
додано Автор Bhavesh, джерело

3 Відповіді

Локальна змінна тільки в обсязі для тривалості методу. Змінна може бути ініціалізована один раз для кожної області методу.

Можливо, ви захочете прочитати на стеку проти купи, щоб дізнатися, як JVM зберігає дані для методу.

16
додано
але що таке життя остаточного, якщо я оголошу бітову карту як остаточну в методі, так це її життя, коли закінчується метод виклику або закінчується його життя пакетом або програмою
додано Автор AHF, джерело

Змінна методу визначається в межах циклу виклику методу.

Остаточний модифікатор гарантує, що після ініціалізації його не можна повторно ініціалізувати в межах методу цього виклику .

Так, так, на виклик методу, ця змінна є остаточною.

15
додано
що станеться, якщо метод статичний?
додано Автор Avinash Agrawal, джерело

Кінцеве оголошення про змінну в межах методу гарантує, що значення змінної не змінюватиметься в межах області, в якій вона оголошена, що в даному випадку є лише методом.

5
додано
ІТ КПІ - Java
ІТ КПІ - Java
436 учасників