Sobes.tech
Middle

Czy interfejsy mogą mieć metody z implementacją lub bez?

sobes.tech AI

Odpowiedź od AI

W klasycznych interfejsach, na przykład w Javie do wersji 8, metody nie mogą mieć implementacji — są tylko deklarowane, a implementacja jest dostarczana w klasach, które ten interfejs implementują.

Od Java 8 w interfejsach pojawiły się metody z implementacją — metody domyślne (default). Pozwalają one na ustawienie standardowej implementacji, którą można nadpisać w klasach.

Przykład:

public interface MyInterface {
    void abstractMethod(); // bez implementacji

    default void defaultMethod() {
        System.out.println("Domyślna implementacja");
    }
}

W ten sposób interfejsy mogą zawierać zarówno metody abstrakcyjne bez implementacji, jak i metody z implementacją (default, static). To rozszerza możliwości interfejsów i upraszcza ewolucję API.