Страницы

Поиск по вопросам

воскресенье, 8 декабря 2019 г.

Что означает конструкция static {…}

#java


Как понимать конструкцию static {...}, находится в классе:
class test {
    static {
    ...
    }    
}
    


Ответы

Ответ 1



В Java существует такое понятие, как статические инициализаторы. Статические инициализаторы — это методы, предназначенные для инициализации переменных класса, то есть переменных, описанных как static. Статические инициализаторы автоматически вызываются системой, когда класс загружается, поэтому они не могут иметь параметров и не возвращают значения. Кроме того, у метода нет имени. Что же остается? Ключевое слово static и фигурные скобки. public class Circle { static private double sines[] = new double[1000]; static private double cosines[] = new double[1000]; static { double x, delta_x; int i; delta_x = (Math.PI/2)/(1000-1); for(i = 0, x = 0.0; i < 1000; i++, x += delta_x) { sines[i] = Math.sin(x); cosines[i] = Math.cos(x); } } } Внутри одного класса может встретиться любое число таких статических инициализаторов. Статический инициализатор выполняется только один раз, когда такой класс впервые загружен.

Комментариев нет:

Отправить комментарий