Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от 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

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