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.