Java super kalit so‘zi


ULASHISH

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

O‘zingiz sinab ko‘ring »

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

O‘zingiz sinab ko‘ring »



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

O‘zingiz sinab ko‘ring »

Eslatma: super() chaqiruvi voris sinf konstruktoridagi birinchi ko‘rsatma bo‘lishi shart.



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!