Каким будет результат выполнения кода?

public class Test {
    public static void main(String[] args) {
        for (int i = 0; i < 3; i++) { 
              i = doIt(i); 
        }
    }
    static int doIt(int i) {
        new Test() {
            {  System.out.print((i + 0.99) + ", ");  }
        };
        return i;
    }
}
Explanation
При использовании внутри анонимных классов объектов, определенных за пределами анонимного класса, эти объекты должны были быть final до java 8. Starting in Java SE 8, a local class can access local variables and parameters of the enclosing block that are final or effectively final. A variable or parameter whose value is never changed after it is initialized is effectively final.

Слідкуй за CodeGalaxy

Мобільний додаток Beta

Get it on Google Play
Зворотній Зв’язок
Продовжуйте вивчати
тести з Java
Cosmo
Зареєструйся Зараз
або Підпишись на майбутні тести