Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvPmScSV 297 of 420 menu
◀ ▶

Статические переменные как общие данные в Java

Поле в классе Main со словом static хранит одно значение на весь класс. Такие поля удобно использовать как общие данные, к которым обращаются несколько методов. Здесь не разбираем устройство классов - достаточно знать, что имя поля видно во всех static методах этого класса.

В классе задано поле maxSize. Метод report выводит это значение:

public class Main { static int maxSize = 100; static void report() { System.out.println(maxSize); } public static void main(String[] args) { report(); } }

Несколько методов могут читать одно и то же поле. На экран два раза попадет 7:

public class Main { static int shared = 7; static void showA() { System.out.println(shared); } static void showB() { System.out.println(shared); } public static void main(String[] args) { showA(); showB(); } }

Изменение поля в одном методе видно в другом. Общие имена легко перепутать при росте программы, поэтому их оставляют для действительно общих величин, а рабочие данные чаще держат в main или внутри методов. На экран попадут 1 и 2:

public class Main { static int shared = 1; static void bump() { shared = shared + 1; } static void show() { System.out.println(shared); } public static void main(String[] args) { show(); bump(); show(); } }

Дан код:

public class Main { static String label = "go"; public static void main(String[] args) { System.out.println(label); } }

Определите, что выведет программа.

Дан код:

public class Main { static int units = 3; static void addUnit() { units = units + 1; } public static void main(String[] args) { System.out.println(units); addUnit(); System.out.println(units); } }

Определите, что выведет программа.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить