Sobes.tech
Junior — Middle

Czy możesz podać przykłady typów interfejsów używanych w Java do definiowania kontraktów między komponentami?

sobes.tech AI

Odpowiedź od AI

W Javie interfejsy służą do definiowania kontraktów między komponentami, czyli opisują zestaw metod, które klasa musi zaimplementować. Przykłady typów interfejsów:

  • Interfejsy funkcyjne — zawierają jedną metodę abstrakcyjną, używane do wyrażeń lambda i programowania funkcyjnego. Na przykład Runnable, Callable, Comparator.

  • Interfejsy markerowe — nie zawierają metod, służą do oznaczania klas, na przykład Serializable, Cloneable.

  • Interfejsy API — opisują zachowanie komponentów, na przykład List, Map, Set w kolekcjach.

Przykład interfejsu funkcyjnego:

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

// Użycie
Calculator sum = (a, b) -> a + b;
int result = sum.calculate(5, 3); // 8

Interfejsy pozwalają tworzyć elastyczne i rozbudowywalne architektury, zapewniając słabe powiązanie między komponentami.