Sobes.tech
Middle

Interfeyslar implementatsiyali yoki bo'lmagan usullarga ega bo'lishi mumkinmi?

sobes.tech AI

AIdan javob

Klassik interfeyslar, masalan Java 8 gacha bo‘lsa, metodlar implementatsiya qilmaydi — ular faqat e’lon qilinadi, va implementatsiya bu interfeysni amalga oshiradigan sinflarda taqdim etiladi.

Java 8 dan boshlab, interfeyslar ichida implementatsiyaga ega metodlar — default metodlar paydo bo‘ldi. Ular standart implementatsiyani belgilashga imkon beradi, uni sinflarda o‘zgartirish mumkin.

Misol:

public interface MyInterface {
    void abstractMethod(); // implementatsiya yo‘q

    default void defaultMethod() {
        System.out.println("Default implementatsiya");
    }
}

Shu tarzda, interfeyslar ham implementatsiyasiz abstrakt metodlar, ham implementatsiyaga ega metodlar (default, static) bo‘lishi mumkin. Bu interfeyslarning imkoniyatlarini kengaytiradi va API evolyutsiyasini soddalashtiradi.