РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
67 of 1163 menu

Ключевое слово static

Ключевое слово static в Java используется для создания статических членов класса: полей, методов, вложенных классов и блоков инициализации. Статические члены принадлежат самому классу, а не его объектам, и существуют в единственном экземпляре на всю программу. К статическому полю или методу можно обращаться напрямую через имя класса, без создания объекта. Статические методы не имеют доступа к нестатическим полям и методам класса, поскольку не привязаны к конкретному экземпляру.

Синтаксис

// статическое поле static тип имяПоля; // статический метод static тип имяМетода(параметры) { // тело метода } // статический блок инициализации static { // код инициализации }

Пример

Давайте создадим класс со статическим полем и статическим методом, а затем обратимся к ним через имя класса:

public class Main { static int counter = 0; static void increment() { counter++; } public static void main(String[] args) { Main.increment(); Main.increment(); System.out.println(Main.counter); } }

Результат выполнения кода:

2

Пример

Давайте создадим два объекта класса и покажем, что статическое поле является общим для всех экземпляров:

public class Main { static int counter = 0; public Main() { counter++; } public static void main(String[] args) { Main a = new Main(); Main b = new Main(); Main c = new Main(); System.out.println(Main.counter); } }

Результат выполнения кода:

3

Пример

Давайте используем статический блок инициализации, который выполняется один раз при загрузке класса:

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

Результат выполнения кода:

"static block" "abcde"

Пример

Давайте создадим статический метод, который выполняет вычисления и не зависит от состояния объекта:

public class Main { static int sum(int a, int b) { return a + b; } public static void main(String[] args) { int res = Main.sum(1, 2); System.out.println(res); } }

Результат выполнения кода:

3

Смотрите также

  • ключевое слово final,
    которое запрещает изменение и наследование
  • ключевое слово this,
    которое ссылается на текущий объект
  • ключевое слово public,
    которое задает открытый доступ к члену класса
  • ключевое слово private,
    которое закрывает доступ к члену класса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить