Первоначально я думал, что статические блоки были для статических переменных, но компилятор позволяет компиляции и запускам как A, так и B, что дает?
О статических и нестатических блоках инициализации в Java
private static final Map<String,String> m = new HashMap<String,String>();
{
m.put("why", "does");
m.put("this","work");
}
Б
private static final Map<String,String> m = new HashMap<String,String>();
static{
m.put("why", "does");
m.put("this","work");
}
System.out.println(Main.m.toString());
Запуск для A отпечатки
{}
но работает то же самое для B печатает в Йоду-говорить
{это = работа, почему = делает}
Есть ли альтернатива статических и нестатических блоков? –