Статические методы в Java

Author: Tatyana Milkina

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

  • Они могут непосредственно вызывать только другие статические методы.
  • Им непосредственно доступны только статические переменные.
  • Они не могут делать ссылки типа this или super.

Пример использования статических методов:

public class StaticMethodClass {
    static int staticVar = 3;
    int nonStaticVar;

    public void nonStaticMethod() {
        System.out.println("Нестатический метод");
    }

    static void staticMethod(int localVar) {
        System.out.println("localVar = " + localVar);
        System.out.println("staticVar = " + staticVar);
        //Нельзя обратиться к нестатической переменной из статического метода
        //System.out.println("nonStaticVar = " + nonStaticVar);
    }

    public static void main(String[] args) {
        staticMethod(42);
        //Нельзя обратиться к нестатическому методу без указания объекта
        //nonStaticMethod();
        StaticMethodClass useStatic = new StaticMethodClass();
        useStatic.nonStaticMethod();
        useStatic.staticMethod(67);
    }
}
public class StaticMethodExample {
    public static void main(String[] args) {
        StaticMethodClass.staticMethod(42);
    }
}
Читайте также:
Комментарии