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.