Область видимості змінних Java
Область видимості змінних це частина програми, де зберігаються змінні. Як і C/C++, в Java всі поля розподілені по областях видимості, тобто область видимості змінних може бути визначена на етапі компіляції.
З іншого боку, наприклад, Perl, підтримує як динамічну область видимості, так і статичну. Ключове слово my Perl визначає статичну змінну в локальній області. Тим часом слово local визначає динамічну локальну змінну.
Java програма організована за допомогою класів. Кожен клас є частиною будь-якого пакету.
Область видимості класу
Усі змінні у цій галузі мають бути визначені всередині класу (зовні функції). Вони можуть бути доступні з будь-якої області класу. Ось приклад програми:
Ми можемо визначити змінну області видимості класу будь-де класу, але зовні методів. Зазначений модифікатор доступу для змінної класу не дає жодного ефекту всередині класу. Змінні класу можуть бути доступні за її межею за такими правилами:
| public | Yes | Yes | Yes |
| protected | Yes | Yes | No |
| Default | Yes | No | No |
| private | No | No | No |
Локальні змінні у методі
Змінні, які визначаються методом, доступні лише з методу і можуть бути доступні зовні методу.
Примітка: Локальні змінні перестають існувати після того, як метод відпрацює.
Ось інший приклад змінних, що визначаються у методі. У цьому випадку змінна методу передається як параметр:
У цьому прикладі ключове слово this , звертається дозмінної класу.
Область змінних у циклах та блоках
Змінні, які задані у блоках коду між дужками “”, у методі, існують лише у цьому блоці.
Висновок:
Ось ще один приклад, який показує, що змінна доступна тільки в межах блоку while і зовні вже не існує.
Висновок:
Ось як треба було зробити, щоб це працювало:
Висновок:
Давайте подивимося на приклад трюку з циклом. Вгадайте висновок цієї програми. Ви будете здивовані, якщо ви програміст C/C++.
Висновок:
Ще один приклад, вгадайте який буде висновок: