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

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

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

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

public class StaticMethod {
    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();
        StaticMethod useStatic = new StaticMethod();
        useStatic.nonStaticMethod();
        useStatic.staticMethod(67);
    }
}
public class StaticMethodDemo {
    public static void main(String[] args) {
        StaticMethod.staticMethod(42);
    }
}
Read also:
Comments