Встречается на собеседованиях • сегодня

Что такое замыкание

Замыкание (closure) — это функция, которая запоминает лексическое окружение, в котором она была создана, даже если она вызывается вне этого окружения. В Java замыкания эмулируются через анонимные классы или лямбда-выражения, захватывающие final или effectively final переменные.

Пример с лямбдой:

java
public class ClosureExample {
    public static void main(String[] args) {
        int x = 10; // effectively final
        Runnable r = () -> System.out.println(x); // захватывает x
        r.run(); // выведет 10
    }
}

Здесь лямбда r "замыкается" на переменной x. Важно, что x должна быть final или effectively final, так как Java требует неизменяемость захваченных переменных для потокобезопасности.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы