Javoblar bilan Top 30 java savollari
Ichki sinfi va kichik sinf (sub-sinf) o'rtasidagi farq nima?
Javob: Ans: Ichki sinf — boshqa sinf ichidagi ichki qism. Ichki sinf tashqi klassdagi barcha o'zgaruvchilar va metodlarga kirish imkoniyatiga ega.
Sub sinf, super sinf deb nomlangan boshqa sinfdan meros bo'lib olinadigan sinfdir. Sub-klass barcha public va protected metodlarga va uning super-sinfiga kira oladi.
Java sinflari uchun turli xil kirish identifikatorlari qanday?
Javob: Java'da kirish identifikatorlari kirish ko'lamini belgilaydigan sinf nomidan oldin ishlatiladigan kalit so'zlardir. Sinflar uchun kirish identifikatorlari turlari quyidagilar:
public-umumiy: Sinf, metod va sohaga har qanday joydan kirish mumkin.
protected-himoyalangan: Metod, sohaga ular tegishli bo'lgan yoki sub sinflardan va bir xil paketning sinfidan kirish mumkin, lekin tashqaridan emas.
3) Default: Metod, soha, sinfga faqat o'sha paketdan kirish mumkin, lekin uning paketi tashqarisidan emas.
4) private-xususiy: Metod, sohaga ular tegishli bollgan sinfdan kirish mumkin.
Statik metodlar va statik o'zgaruvchilarning maqsadi nima?
Javob: Har bir obyekt uchun alohida nusxa yaratish o'rniga, sinfning bir nechta obyektlari o'rtasida metodni yoki o'zgaruvchini almashish talabi mavjud bo'Iganda, metod va o'zgaruvchilarni barcha obyektlar uchun almashinishini hosil qilish maqsadida statik deb elon qilamiz.
Ma'Iumotni encapsulation (ma'lumot to'plash-kapsullash) qilish nima va uning ahamiyati nimadan iborat?
Javob. Kapsullash, bir birlikda xususiyatlar va metorlarni birlashtirish uchun Obyektga asoslangan dasturlash tushunchasi.
Enkapsulyatsiya dasturchilar dasturiy ta'minot ishlab chiqish uchun modulli yondashuvga amal qilishiga yordam beradi, chunki har bir ob'ekt o'z metod va parametrlarga ega. Kapsullama, shuningdek, ma'Iumotlarni yashirish maqsadiga xizmat qiladi.
Singleton sinf nima? Foydalanishning amaliy namunasini keltiring.
Javob. Java dasturida bitta singleton klassi faqat bitta namunaga ega bo'lishi mumkin, shuning uchun barcha metodlar va o'zgaruvchilar bitta namunaga tegishli. Singleton sinf kontseptsiyasi sinf uchun obyektlarning sonini cheklash zarur bollgan holatlarda foydalidir.
Singleton foydalanish stsenariyasining eng yaxshi namunasi, ba'zi drayverlarning cheklashlari yoki litsenziyalash muammolari sababli ma'lumotlar bazasiga faqat bitta ulanishga ega bo'lish chegarasi bo'lib qolishi.
Java-dagi sikllar nima? Qanday uchta turdagi sikllar mavjud?
Javob: SiklIar — Looping dasturni ijro qilish yoki ijro qilish blokini bir necha marta bajarish uchun ishlatiladi. Java-da uchta turda sikl mavjud:
1) For sikl operator
For sikl operatori java-da bayonotIami bir necha marta ketma-ket bajarish uchun ishlatiladi. For sikli bayonotlarning amalga oshirilish soni dasturchiga ma'Ium boigan foydalaniladi.
2) while sikl operator
Ayrim bayonotlar shall bajarilgunga qadar takroriy ijro etilishi kerak bolganda while sikl ishlatiladi. While siklida, vaziyat birinchi marta bayonlarning bajarilishidan oldin tekshiriladi.
3) Do_while sikl operator
Do While va While deyarli teng bolsa-da, bu holda faqat shartlar bloklari bajarilganidan keyin tekshiriladi. Shunday ekan, do while operatorida, bayonotlar kamida bir marta bajariladi.
Cheksiz sikl nima? Cheksiz sikl qanday e'Ion qilinadi?
Javob: Cheksiz sikl hech qanday shartsiz ishlaydi va cheksiz ishlaydi. Cheksiz siklni bayonot blokining tanasidagi logik sinishni aniqlash orgali to'xtatish mumkin.
Cheksiz sikl quyidagi tarzda elon qilinadi:
for (;;)
{
// Amalga oshirish uchun bayonot
// sikldan chiquvchi logika qo'shish
}
Continue — davom etish va break — uzilishlar operatorlari orasidagi farq nima?
Javob: break va continue siklda ishlatiladigan ikkita muhim kalit so'z. Siklda break ishlatilganda, sikl darrov sinadi ya'ni ishlash sikklan chiqib ketadi. continue kalit so’zi ishlatilganda, joriy iteratsiya buziladi va sikl keyingi iteratsiya bilan davom etadi.
Quyidagi misolda, taymer 4 ga yetganda, sikl buziladi
for (taymer = 0; taymer < 10; taymer++){
System.out.println (taymer);
if (taymer == 4)
{
break;
}
}
Quyidagi misolda taymer 4 ga yetganda, continue kalit so'zi joriy iteratsiya uchun skip (tashlab o’tib ketish) qilinganidan keyin, sikl keyingi iteratsiyaga o’tadi.
for (taymer = 0; taymer < 10; taymer++) {
System.out.println(taymer);
if (taymer == 4)
{
continue;
}
System.out.println(“Taymer 4 ga teng bolgan, ekranga chiqmaydi”);
}
Javada final kalit so'z nima? Misol keltiring.
Javob: Javada, final kalit so'zidan foydalanib, konstanta (o'zgarmas) parameterlar e'lon qilinadi. Qiymatni faqat bir marta tayinlash mumkin va tayinlashdan so’ng tayinlash mumkin, qiymati o'zgarmasdir.
Quyidagi misolda const_val nomi bilan bir konstanta e'lon qilinadi va bir qiymat tayinlanadi:
private final int const_val = 100;
Agar metod final deb e'lon qilingan bo'Isa, u subclasslar tomonidan bekor qilinmaydi. Ushbu metod boshqa har qanday metoddan tezroq.
Agar sinf final deb e'lon qilinsa, u subclassga ega bola olmaydi.
Javada tasodifiy sonlarni qanday yaratish mumkin?
Javob:
■ random () dan foydalanish yordamida, siz 0,1 dan kattaroq yoki teng va 1.0 gacha bo'Igan oraliqda tasodifiy sonlarni yaratishingiz mumkin
■ util paketidagi tasodifiy sinfdan foydalanish orqali
Default switch holat nima? Misol keltiring.
Javob: switch tanlash operatorida, default holat boshqa switch holati mos boilmasa bajariladi. Default holat ixtiyoriy holat hisoblanadi. U faqat bir marta etIon qilinishi mumkin.
Quyidagi misolda. ball 1 yoki 2 bolmasa, default hol ishlatiladi.
public class switchMisol {
int skore = 4;
public static void main(String args[]){
switch (skore) {
case 1: System.out.println(«Skore 1»); break;
case 2: System.out.println(«Skore 2»); break;
default: System.out.println («Default holat»);
}
}
}
Barcha sinflar olingan Java-ning asosiy klassi nima?
Javob: java.lang.object
Javada main() metodi biron turdagi ma'Iumotlarni qaytarishi mumkinmi?
Javob: Javada, main() metodi hech qanday ma’lumotni qaytarib bera olmaydi, chunki u har doim void qaytaruvchi tur bilan elon qilinadi.
Java paketlari nima? Paketlarning ahamiyati qanday?
Javob: Javada, paketlar birlashtirilgan sinflar va interfeyslar to'plami. Paketlardan foydalanish ishlab chiquvchilarga kodni modulyatsiyalashga yordam beradi va kodni qayta ishlatish uchun guruhlashga yordam beradi. Paketlarda kodlar paketlanganidan keyin u boshqa sinflarga kiritilishi va ishlatilishi mumkin.
Bironta abstrakt-mavhum metodga ega bo'Imasa ham, sinfni abstrakt deb elon qila olamizmi?
Javob: Ha, abstract kalit so’zidan foydalanib, mavhum bir sinf yaratishimiz mumkin hatto u bironta abtrakt-mavhum metodga ega bo’lmasa ham. Biroq,. agar sinfda bir mavhum metod bo’lsa, u mavhum ya'ni abstract deb elan qilinishi kerak aks holda bu xato boladi.
Javaning Abstract Class va Interface o’rtasidagi farq nima?
Javob: Abstrakt sinf va interfeys o’rtasidagi asosiy farq shundaki, interfeys faqat public static metodlari amalga oshirishsiz e’lon qiladi xolos, ammo mavhumn-abstract sinfda aniq amaliyotga ega bolgan yoki bo’lmagan holda, foydalanishga ruxsat beruvchi (public. private va h.k) a’zolar bo’lishi mumkin.
Mavhum (abstract) sinflar va interfeyslarni ishlatishdagi yana bir muhim farq shundaki, interfeysni amalga oshiruvchi sinf interfeysning barcha metodlarini qo’llashi kerak, ammo mavhum bir sinfdan meros bo’lib o’tadigan sinf o’zIarining super sinfining barcha metodlarini qo’llashni talab qilmaydi.
Sint bir nechta interfeyslarni amalga oshirishi mumkin, biroq faqat bitta mavhum sinfni uzaytirishi mumkin.
Javada, paketni import qilish, uning kichik paketlarini import qiladimi?
Javob: Javada, agar paket import qilinadigan bo'Isa, uning quyi paketlari import qilinmaydi va agar kerak bo'Isa, ularni dasturchini o'zi alohida import qilishi kerak.
Misol uchun, agar ishlab chiquvchi-dasturchi "universitet.*," nomli paketni import qilsa *, universitet nomi yozilgan paketdagi barcha sinflar yuklanadi, lekin sub-paketdan hech qanday sinf yuklanmaydi. Sinflarni kichik paketlardan (masalan, bo'lim) yuklash uchun ishlab chiquvchi uni quyidagicha aniq tarzda import qilish kerak:
Import universitet.bo’lim.*;
Bizning sinfimizning main () metodini private deb e'Ion qila olamizmi?
Javob: Javada main () metod har qanday dasturni to'g'ri ishlashi uchun public static bo'lishi kerak. Agar main () metod private deb e'lon qilingan bo'Isa, dasturchi hech qanday kompilyatsiya xatolikka ega bo'Imaydi, ammo bajarilmaydi va ish vaqti xatoligi beradi.
Funksiyaga argumentni qiymat bilan o'tkazish o'rniga referens orqali qanday qilib beramiz?
Javob: Javada biz argumentni funksiyaga faqat qiymat orqali beramiz, referens orqali emas.
Sinfning konstruktori qachon chaqiriladi?
Javob: Obyekt new kalit so'z bilan yaratilganda, sinfning konstruktori chaqiriladi.
Masalan, quyidagi sinfda new kalit so'z yordamida ikkita obyekt yaratiladi va shuning uchun konstruktor ikki marta chaqiriladi.
public class konstraktor_namuna
konstraktor_namuna () {
System.out.println («Konstraktor»);
public static void main (String args[]) {
konstraktor_namuna c1 = new konstraktor namuna();
konstraktor_namuna c2 = new konstraktor namuna();
}
}
Sinf bir nechta konstruktorga ega bo'lishi mumkinmi?
Javob: Ha, sinfda turli parametrlarga ega bo'lgan ko'plab konstruktorlar bo'lishi mumkin. Obyekt yaratilishida qaysi konstruktor ishlatilishi obyektlarni yaratishda berilgan argumentlarga bog'liq.
Javada String ma'lumot turimi?
Javob: String javada primitiv ma'lumot turi emas. Javada bironta String yaratilganida, u aslida yaratilgan Java.Lang.String sinfining obyektidir. Ushbu string obyektini yaratganingizdan so’ng, string sinfidagi barcha yaratilgan metodlar string obyektida foydalanish mumkin.
Vektor va massiv o'rtasidagi farq nima?
Javob: Massiv bir xil turdagi ma'lumot turlarini guruhlarga ajratadi va static xususiyatga ega, Vektor esa dinamik xususiyatga ega bo'lib, u turli xil ma'lumot turlarini o'zida to'play oladi.
Multi-threading nima?
Javob: Multi-threading bitta dasturda bir vaqtning o'zida bir nechta vazifalarni bajarish uchun dasturiy tushunchadir. Threadlar bir xil jarayonni bo'lishadi va parallel ravishda ishlaydi. Bu har qanday dasturning ish faoliyatini yaxshilashga yordam beradi.
Nima uchun Runnable interfeysi Javada ishlatiladi?
Javob: Runnable interfeysi Javada multi-threadni amalga oshirish uchun ishlatiladi.
Java.Lang.Runnable interfeysi multi-threadni qo'llab-quvvatlash uchun sinf tomonidan amalga oshiriladi.
main () metoddan oldin qanday kodni amalga oshirish mumkin?
Javob: Agar sinfning yuklanish vaqtida obyektlarni yaratishdan oldin har qanday bayonotni bajarishni istasak, sinfda statik bloklar blokidan foydalanishimiz mumkin.
Ushbu statik blok kod ichidagi har qanday iboralar, main () metodda narsalar yaratilishidan oldin sinfni yuklash vaqtida bir marta bajariladi.
Bitta sinfda bir xil nomda ikkita metod bo'lishi mumkinmi?
Javob: Bir xil nomdagi lekin turli xil raqamlar/parametrlarga ega bo’lgan ikkita metodni bir sinf ichida aniqlab olishimiz mumkin. Qaysi metod chaqirilishliligi yuborilayotgan parametrlarga bog’liq bo’ladi.
Misol uchun quyida keltirilgan sinfda biz bir xil nom bilan, lekin turli xil parametrlarga ega bo’lgan ikkita metodga egamiz. Parametrlarga qarab, mos keladigani chaqiriladi:
public class metodNamuna {
public void print () {
System.out.println(«Parametersiz metod»);
}
public void print (String name) {
System.out.println(«Parametrli metod»);
}
public static void main (String args []) {
metodNamuna obj1 = new metodNamuna ();
obj1.print();
obj1.print(«XX»)
}
}
Merosdan foydalanishning foydasi nimada?
Javob: Merosdan foydalanishning asosiy afzalligi — kodning qayta foydalanish mumkin bo'lishi, meros sifatida pastki-sub sinflarga o'zlarining yuqori-super sinf kodini qayta ishlatilishini ta'minlaydi. Polimorfizm (Extensibility-kengayish) — hosil qilingan mavjud sinflarga ta'sir qilmasdan yangi funksiyalarni ishlatish imkonini beradigan yana bir katta foyda.
Static metoddan non-statik - statik bo'lmagan metodni chaqirish mumkinmi?
Javob: Statistik bo'lmagan metodlar sinfi obyektlariga tegishli va statik blokdan static bo'lmagan metodlarni chaqirish uchun (static main () metodi singari) avval sinf obyekti yaratilishi kerak. Keyinchalik obyekt referensidan foydalanib, ushbu metodlarni chaqirish mumkin.
main () metod uchun void dan tashqari boshqa qaytaruvchi tur mavjudmi?
Javob: Yo'q, main metod dasturni muvaffaqiyatli bajarish uchun faqat void qaytish turiga ega bo'lishi mumkin.
Shunga qaramay, agar siz asosiy metodni bajarish vaqtida qiymatni qaytarishingiz kerak bo'lsa, System.exit (int status) -dan foydalanishingiz mumkin.
Do'stlaringiz bilan baham: |