Junior
Nima uchun anonim sinflar va ular qayerda qo'llaniladi?
sobes.tech AI
AIdan javob
Noma klass nomli ichki sinf bo‘lib, nomi bo‘lmagan lokal ichki sinf.
-
Qo‘llanilishi:
- GUI ilovalarda voqea tinglovchilarini yaratishda (masalan, tugmalar uchun).
- Interfeyslarni amalga oshirish yoki abstrakt sinflarni "joyida" kengaytirishda, faqat bitta nusxa kerak bo‘lsa va uning foydalanishi mahalliy bo‘lsa.
- Ko‘p ipli dasturlashda
RunnableyokiCallablenusxalarini yaratish uchun.
-
Afzalliklari:
- Sinfni takroran ishlatish shart emas bo‘lsa, kod hajmini qisqartiradi.
- Oddiy, bir martalik amalga oshirishlar uchun kodni oson o‘qish imkonini beradi.
-
Kamchiliklari:
- Murakkab amalga oshirishlar uchun kodni o‘qish qiyinlashtirishi mumkin.
- Takroran ishlatilmaydi.
- Tashqi sinf maydonlariga kirish faqat
finalyoki effektively final o‘zgaruvchilar orqali amalga oshiriladi eski Java versiyalarida.
// Runnable uchun nomli sinfdan foydalanish misoli
Runnable myRunnable = new Runnable() {
@Override
public void run() {
System.out.println("Nomli sinfda ishlash.");
}
};
new Thread(myRunnable).start();
// Voqealar tinglovchisi uchun nomli sinfdan foydalanish misoli (hipotetik)
// Ba'zi UI freymvorklar bunday yondashuvni qo‘llaydi.
//button.setOnAction(new EventHandler<ActionEvent>() {
// @Override
// public void handle(ActionEvent event) {
// System.out.println("Tugma bosildi!");
// }
//});