Java super kalit so‘zi
Java super kalit so‘zi
Java tilida super kalit so‘zi voris sinfning (subclass) ota sinfiga murojaat qilish uchun ishlatiladi.
super kalit so‘zining eng keng tarqalgan qo‘llanilishi — bir xil nomli metodlarga ega ota sinflar (superclass) va voris sinflar (subclass) o‘rtasidagi chalkashlikni bartaraf etish.
Undan ikki asosiy usulda foydalanish mumkin:
- Ota sinfdagi atribut va metodlarga murojaat qilish uchun
- Ota sinf konstruktorini chaqirish uchun
Ota sinf metodlariga murojaat qilish
Agar voris sinfda ota sinfdagi metod bilan bir xil nomli metod bo‘lsa, ota sinfdagi variantini chaqirish uchun super’dan foydalanishingiz mumkin:
Misol
class Animal {
public void animalSound() {
System.out.println("The animal makes a sound");
}
}
class Dog extends Animal {
public void animalSound() {
super.animalSound(); // Call the parent method
System.out.println("The dog says: bow wow");
}
}
public class Main {
public static void main(String[] args) {
Dog myDog = new Dog();
myDog.animalSound();
}
}
Natija:
The animal makes a sound
The dog says: bow wow
Eslatma: Voris sinfda qayta aniqlangan (override) ota sinf metodini chaqirmoqchi bo‘lsangiz, super’dan foydalaning.
Ota sinf atributlariga murojaat qilish
Agar ikkala sinfda bir xil nomli atribut bo‘lsa, ota sinf atributiga murojaat qilish uchun ham super’dan foydalanishingiz mumkin:
Misol
class Animal {
String type = "Animal";
}
class Dog extends Animal {
String type = "Dog";
public void printType() {
System.out.println(super.type); // Access parent attribute
}
}
public class Main {
public static void main(String[] args) {
Dog myDog = new Dog();
myDog.printType();
}
}
Natija:
Animal
Ota sinf konstruktorini chaqirish
Ota sinfning konstruktorini chaqirish uchun super()’dan foydalaning. Bu, ayniqsa, initsializatsiya kodidan qayta foydalanishda qulay.
Misol
class Animal {
Animal() {
System.out.println("Animal is created");
}
}
class Dog extends Animal {
Dog() {
super(); // Call parent constructor
System.out.println("Dog is created");
}
}
public class Main {
public static void main(String[] args) {
Dog myDog = new Dog();
}
}
Natija:
Animal is created
Dog is created
Eslatma: super() chaqiruvi voris sinf konstruktoridagi birinchi ko‘rsatma bo‘lishi shart.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
