Я использую только двойную инициализацию в Java для классов
например: new ArrayList(){{add()}}
Но недавно я по ошибке написал код, приведенный ниже, и JVM не разозлилась за мою ошибку.
public void test(){
{
{
....
}
}
}
После этого сделал простой пример и увидел следующее, но все еще ничего не понял, ожидайте порядок выполнения операторов.
public class HelloWorld{
public static void main(String []args){
HelloWorld hw=new HelloWorld();
hw.test1();
System.out.println("----------");
hw.test2();
}
public void test1(){
{
{
System.out.println("1");
}
System.out.println("2");
}
System.out.println("3");
}
public void test2(){
System.out.println("a");
{
System.out.println("b");
{
System.out.println("c");
}
}
}
}
Результат:
1
2
3
----------
a
b
c
Итак, мой вопрос в том, что означает двойная или тройная инициализация и т.д. в Java?