Sobes.tech
Back to questions
Junior — Middle
95

Можешь привести примеры типов интерфейсов, используемых в Java для определения контрактов между компонентами?

Answer from AI

sobes.tech AI

В Java интерфейсы используются для определения контрактов между компонентами, то есть описывают набор методов, которые класс должен реализовать. Примеры типов интерфейсов:

  • Функциональные интерфейсы — содержат один абстрактный метод, используются для лямбда-выражений и функционального программирования. Например, Runnable, Callable, Comparator.

  • Маркерные интерфейсы — не содержат методов, служат для маркировки классов, например, Serializable, Cloneable.

  • API-интерфейсы — описывают поведение компонентов, например, List, Map, Set в коллекциях.

Пример функционального интерфейса:

@FunctionalInterface
public interface Calculator {
    int calculate(int a, int b);
}

// Использование
Calculator sum = (a, b) -> a + b;
int result = sum.calculate(5, 3); // 8

Интерфейсы позволяют создавать гибкие и расширяемые архитектуры, обеспечивая слабую связанность между компонентами.