Java this kalit so‘zi


ULASHISH

Java this kalit so‘zi

Java tilida this kalit so‘zi metod yoki konstruktordagi joriy obyektga ishora qiladi.

this kalit so‘zi ko‘pincha sinf atributlari metod yoki konstruktor parametrlari bilan bir xil nomga ega bo‘lganda chalkashlikning oldini olish uchun ishlatiladi.


Sinf atributlariga murojaat qilish

Ba’zan konstruktor yoki metodda sinf o‘zgaruvchisi bilan bir xil nomli parametr bo‘ladi. Bunday holatda parametr o‘sha metod yoki konstruktor ichida sinf o‘zgaruvchisini vaqtincha yashiradi.

Parametrga emas, sinf o‘zgaruvchisiga murojaat qilish uchun this kalit so‘zidan foydalanishingiz mumkin:

Misol

public class Main {
  int x;  // Class variable x

  // Constructor with one parameter x
  public Main(int x) {
    this.x = x; // refers to the class variable x
  }

  public static void main(String[] args) {
    // Create an object of Main and pass the value 5 to the constructor
    Main myObj = new Main(5);
    System.out.println("Value of x = " + myObj.x);
  }
}

Natija:

Value of x = 5

O‘zingiz sinab ko‘ring »

Maslahat: this.x = x;’ni shunday tushuning: "this.x (sinf o‘zgaruvchisi) x (parametr) qiymatini oladi."

this bo‘lmasa, yuqoridagi x = x; kodi x parametrini o‘ziga tenglashtirgan bo‘lardi, sinf o‘zgaruvchisi esa initsializatsiya qilinmagan (0) holicha qolardi.


Konstruktorni boshqa konstruktordan chaqirish

Shuningdek, this() yordamida shu sinfdagi boshqa konstruktorni chaqirishingiz mumkin.

Bu standart qiymatlarni berish yoki initsializatsiya kodini takrorlash o‘rniga undan qayta foydalanishni istaganingizda foydali.

Misol

public class Main {
  int modelYear;
  String modelName;

  // Constructor with one parameter
  public Main(String modelName) {
    // Call the two-parameter constructor to reuse code and set a default year    
    this(2020, modelName);
  }

  // Constructor with two parameters
  public Main(int modelYear, String modelName) {
    // Use 'this' to assign values to the class variables
    this.modelYear = modelYear;
    this.modelName = modelName;
  }

  // Method to print car information
  public void printInfo() {
    System.out.println(modelYear + " " + modelName);
  }

  public static void main(String[] args) {
    // Create a car with only model name (uses default year)
    Main car1 = new Main("Corvette");

    // Create a car with both model year and name
    Main car2 = new Main(1969, "Mustang");

    car1.printInfo();
    car2.printInfo();
  }
}

Natija:

2020 Corvette
1969 Mustang

O‘zingiz sinab ko‘ring »

Eslatma: this() chaqiruvi konstruktor ichidagi birinchi ko‘rsatma bo‘lishi shart.



this qachon ishlatiladi?

  • Konstruktor yoki metodda sinf o‘zgaruvchisi bilan bir xil nomli parametr bo‘lsa, sinf o‘zgaruvchisini to‘g‘ri yangilash uchun this’dan foydalaning.
  • Shu sinfdagi boshqa konstruktorni chaqirish va koddan qayta foydalanish uchun.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!