2-modul · 6-dars: Wrapper · Big Numbers · Boxing · Inner class

Daraja: O'rta

Wrapper · Big Numbers · Boxing · Inner class. OOP bo‘yicha nazariya, amaliy namuna va mustaqil mashq.

Tushuntirish

## Dars maqsadi Wrapper · Big Numbers · Boxing · Inner class tushunchalarini farqlash, nima uchun kerakligini izohlash va kichik misolda qo‘llash.

## Nazariya Primitive turlarni obyekt ko'rinishida o'raydigan class lar (masalan `int` → `Integer`).

Collection lar obyekt talab qiladi; null qiymat kerak bo'lganda; utility methodlar (`parseInt`, `MAX_VALUE`) uchun.

## Intervyuga tayyorgarlik ### Wrapper Classlar nima? Primitive turlarni obyekt ko'rinishida o'raydigan class lar (masalan `int` → `Integer`).

### Wrapper Classlar nimaga kerak? Collection lar obyekt talab qiladi; null qiymat kerak bo'lganda; utility methodlar (`parseInt`, `MAX_VALUE`) uchun.

### Qanday Wrapper Classlar mavjud? `Byte`, `Short`, `Integer`, `Long`, `Float`, `Double`, `Character`, `Boolean`.

### Wrapper Classlar qanday classlar? Immutable va `final` class lar; ko'pchiligi `Number` class dan meros oladi.

### Number Class-ning subclasslari qaysilar? `Byte`, `Short`, `Integer`, `Long`, `Float`, `Double` (va `BigInteger`, `BigDecimal`).

### Character Class qaysi interfacelardan voris olgan? `Serializable` va `Comparable<Character>`.

### BigNumbers-ning qanday turlari bor? `BigInteger` va `BigDecimal`.

### BigDecimal Class nima? Katta va aniq o'nlik (decimal) sonlar bilan aniqlik yo'qotmasdan ishlash uchun class — ayniqsa pul hisob-kitoblarida.

### BigInteger Class nima? Cheksiz kattalikdagi butun sonlar bilan ishlash uchun class.

### Arifmetik amallarni (+,-,/,*) bu classlar bilan ishlata olamizmi? To'g'ridan-to'g'ri yo'q. `add()`, `subtract()`, `multiply()`, `divide()` methodlari orqali bajariladi.

### AutoBoxing va Boxing nima uchun kerak? Primitive va wrapper o'rtasida qulay va avtomatik o'tkazish uchun.

### Autoboxing nima? Primitive-ni wrapper-ga avtomatik o'girish: `Integer i = 5;`.

### Unboxing nima? Wrapper-ni primitive-ga avtomatik o'girish: `int x = i;`.

### Narrowing va Widening nima? Widening — kichik turdan katta turga avtomatik o'tish (`int` → `long`). Narrowing — katta turdan kichikka, aniq cast talab qiladi (`double` → `int`).

### Inner Class nima? Boshqa class ichida e'lon qilingan class.

### Inner Classlarning foydali tomonlari? Mantiqiy guruhlash, tashqi class a'zolariga kirish, kuchliroq inkapsulyatsiya va o'qishga qulaylik.

### Inner Class-ning qanaqa turlari bor? Member (non-static) inner, Static nested, Local va Anonymous class.

### Static Inner Class Outer Class-ning non-static fieldlariga murojaat qiloladimi? Yo'q. Static nested class outer-ning instance (non-static) a'zolariga bevosita kira olmaydi.

### Local inner class-larni access modifierlar bilan e'lon qilib bo'ladimi? Yo'q. Local class ga access modifier qo'yilmaydi (u faqat method ichida yashaydi).

## Versiya va aniqlik Java misollari Java 17 bazasiga mo‘ljallangan. JDK/JRE paketlash usuli distributivga bog‘liq; JVM bayt-kodni interpretatsiya va JIT orqali bajarishi mumkin. GC uchun aniq bajarilish vaqtiga kafolat yo‘q; finalization resurs yopish usuli emas. Thread stop/suspend/resume kabi eski metodlar amaliy yechim emas. Koddagi import, klass yoki tashqi kutubxona kontekstini tekshiring.

## Manbalar [Moduldagi savollar yo‘nalishi](https://github.com/jlkesh/pdp_online_java_lessons/blob/main/interviewquestions/2-module.md) [Rasmiy qo‘llanma](https://dev.java/learn/classes-objects/) [Sizning avvalgi savol-javob arxivingiz](https://lightyer.uz/java/interview.html)

Kod quyida o‘quv namunasi sifatida berilgan. To‘liq ilova uchun import, dependency va konfiguratsiya kerak bo‘lishi mumkin. SQLni faqat ajratilgan test bazasida bajaring.

Kod misoli

var price = new java.math.BigDecimal("0.10");
var total = price.add(new java.math.BigDecimal("0.20"));
System.out.println(total); // 0.30
Integer nullable = null;
// int n = nullable; // Unboxing NullPointerException beradi.

Keng tarqalgan xatolar

Mashqlar

Teglar: pdp, modul-02, nazariya

Interaktiv ko'rinish (viktorina, izohlar, tarix)