Книга: Основы программирования на Java

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

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

Иногда требуется создать метод, который можно было бы использовать вне контекста какого-либо объекта его класса. Так же, как в случае main, все, что требуется для создания такого метода — указать при его объявлении модификатор типа static. Статические методы могут непосредственно обращаться только к другим статическим методам, в них ни в каком виде не допускается использование ссылок this и super. Переменные также могут иметь тип static, они подобны глобальным переменным, то есть доступны из любого места кода. Внутри статических методов недопустимы ссылки на переменные представителей. Ниже приведен пример класса, у которого есть статические переменные, статический метод и статический блок инициализации.

class Static {
static int а = 3;
static int  b;
static void method(int x) {
System.out.println("x =” + x);
System.out.println("a =” + a);
System.out.println("b = " + b);
}
static {
System.out.println("Статический блок инициализации");
b = а * 4;
}
public static void main(String args[]) {
method(42);
}
}

Результат запуска этой программы:

х = 42
а = 3
b = 12

В следующем примере мы создали класс со статическим методом и несколькими статическими переменными. Второй класс может вызывать статический метод по имени и ссылаться на статические переменные непосредственно через имя класса.

class StaticClass {
static int a = 42;
static int b = 99;
static void callme() {
System.out.println("a =” + a);
}
}
class StaticByName {
public static void main(String args[]) {
StaticClass.callme();
System.out.println("b =” + StaticClass.b);
}
}

А вот и результат запуска этой программы:

а = 42
b = 99

Оглавление книги


Генерация: 0.173. Запросов К БД/Cache: 0 / 2
поделиться
Вверх Вниз