Почему этот код Java заключен в фигурные скобки ({}) снаружи метода?

Я готовлюсь к сертификационному экзамену java, и в одном из практических тестов я видел ПОДОБНЫЙ код:

class Foo {  
    int x = 1;  
    public static void main(String [] args) {  
        int x = 2;  
        Foo f = new Foo();  
        f.whatever();  
    }  
    { x += x; }  // <-- what's up with this?
    void whatever() {  
        ++x;  
        System.out.println(x);  
    }  
}

Мой вопрос ... допустимо ли писать код в фигурных скобках вне метода? Каковы эти эффекты (если они есть)?

29
задан mchen 25 November 2014 в 12:19
поделиться