Можете объяснить, что представляет собой интерфейс Closable и как его используют?

В Java интерфейс Closable (правильное название — Closeable) определяет контракт для объектов, которые могут быть закрыты, освобождая связанные с ними ресурсы, например, потоки ввода-вывода.

Короткий ответ

Что ответить на собеседовании

В Java интерфейс Closable (правильное название — Closeable) определяет контракт для объектов, которые могут быть закрыты, освобождая связанные с ними ресурсы, например, потоки ввода-вывода.

Подробный разбор

Ответ с пояснениями

В Java интерфейс Closable (правильное название — Closeable) определяет контракт для объектов, которые могут быть закрыты, освобождая связанные с ними ресурсы, например, потоки ввода-вывода.

Он содержит один метод:

void close() throws IOException;

Этот метод вызывается для освобождения ресурсов, когда объект больше не нужен.

Интерфейс Closeable часто используется с конструкцией try-with-resources, которая автоматически закрывает ресурсы после использования:

try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
    String line = reader.readLine();
    System.out.println(line);
} catch (IOException e) {
    e.printStackTrace();
}

Здесь BufferedReader реализует Closeable, и метод close() вызывается автоматически в конце блока try, что помогает избежать утечек ресурсов.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее