Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

static

Делает поле или метод общим для всего класса, а не для отдельного объекта.

Доступно с: Java 1.0

Синтаксис

static Type name; static Type method() { … }

Примеры

Статический счётчик общий для всех объектов:

class User {
    static int count = 0;
    String name;
 
    User(String name) {
        this.name = name;
        count++;
    }
}
 
void main() {
    new User("Anna");
    new User("Oleg");
    IO.println(User.count);
}

Результат:

2

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

class MathUtils {
    static int square(int x) {
        return x * x;
    }
}
 
void main() {
    IO.println(MathUtils.square(7));
    IO.println(Math.max(3, 8));
}

Результат:

49
8

Примечания

Статический метод не видит поля объекта и this — у него нет «текущего объекта». Ошибка «non-static variable cannot be referenced from a static context» значит, что из статического метода обратились к полю или методу объекта.

Методы вроде Math.max(), Integer.parseInt(), List.of() статические — поэтому их вызывают через имя класса.

См. также

  • final — Запрещает менять переменную после присваивания, переопределять метод или наследовать класс.
  • this — Ссылка на текущий объект — тот, у которого вызван метод или конструктор.
  • class — Объявляет класс — описание объектов: их полей и методов.

Вопросы и ответы по теме

В учебнике

  • Статические поля и методы — Ключевое слово static в Java: общие поля класса, статические методы, константы static final и вызов через имя класса.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.