Junior
Java'da tur o'tkazish (casting) nima?
sobes.tech AI
AIdan javob
Java'da tip o'tkazish (casting) - bu bir ma'lumot turining qiymatini boshqa turga o'tkazish.
O'tkazish turlari:
- Aniq (Explicit Casting): Dasturchi
(tur)operatori yordamida bajaradi. Bu "katta" turdan "kichik" turga o'tkazishda ishlatiladi (masalan,doubledanintga). Bu ma'lumot yo'qotilishiga olib kelishi mumkin.// avtomatik o'tkazish (implicit) int a = 10; double b = a; // int dan double ga // aniq o'tkazish (belgilangan) double c = 10.5; int d = (int) c; // double dan int ga, d 10 bo'ladi - Qarama-qarshi o'tkazish (Implicit Casting / Widening Conversion): JVM tomonidan avtomatik amalga oshiriladi, "kichik" turdan "katta" turga o'tkazishda (masalan,
intdandoublega). Bu xavfsiz va ma'lumot yo'qotilishiga olib kelmaydi.int x = 10; double y = x; // int avtomatik ravishda double ga o'tkaziladi
Tip o'tkazish primitive turlar yoki ob'ekt turlari o'rtasida bo'lishi mumkin va merosxo'rlik hierarhiyasida amalga oshiriladi.
Ob'ekt turlari o'rtasida o'tkazish:
- Upcasting: Subklassani superklassaga o'tkazish. Bu implicit va xavfsiz.
class Animal {} class Dog extends Animal {} Animal animal = new Dog(); // Upcasting - Downcasting: Superklassani subklassaga o'tkazish. Aniq o'tkazishni talab qiladi va
ClassCastExceptionxatosini ishga tushirishi mumkin, agar ob'ekt aslida maqsadli subklassaga tegishli bo'lmasa.Animal animal = new Dog(); // Upcasting // Downcasting - aniq o'tkazish va instanceof tekshiruvi bilan if (animal instanceof Dog) { Dog dog = (Dog) animal; // Endi Dog uchun xususiy metodlardan foydalanish mumkin }