Как-то не заходят мне эти static-блоки.
Объясните, пожалуйста, для чего они вообще и как бы изменилась задача, еси бы я ее без этого static-блока сделала, если такое вообще возможно.
Может какую-нибудь ссылочку кто-то знает, где доступно и понятно написано про это?
public class Solution {
public static int A;
public static int B;
static {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = null;
String b = null;
try {
A = Integer.parseInt(reader.readLine());
B = Integer.parseInt(reader.readLine());
} catch (IOException e) {
e.printStackTrace();
}
}
public static final int MIN = min(A, B);
public static void main(String[] args) {
System.out.println(MIN);
}
public static int min(int a, int b) {
return a < b ? a : b;
}
}
Polina
29 уровень
решила, но не разобралась. Static-блоки
Решен
К примеру, можно выводить на экран строку "создан объект такого-то класса". Главное, что это будет выполняться всегда, при создании объекта этого класса.Еще кстати есть такая штука, как double brace initialization (инициализация в двойных скобках)2) Нет, при каждом создании только конструктор выполняется. Я был не прав и загнался в порыве ответить )) Артур правильно исправил. Обратились к классу - выполнился весь статик: создались статик поля, выполнились статик блоки - класс скомпилирован, с классом можно работать.