Sobes.tech
Junior

Java'da kirish modifikatorlari haqida gapiring.

sobes.tech AI

AIdan javob

Kirish imkoniyatlari Java'da sinflar, sinf a'zolari (maydonlar, metodlar, konstruktorlar) ning ko'rinishini boshqaradi.

To'rt kirish imkoniyati mavjud:

  • public
  • protected
  • default (belgilanmagan)
  • private

Ularning ko'rinishi turli kontekstlarda:

Belgilovchi Sinf ichida Paket ichida Subklassda (har qanday paketda) Har joyda
private Ha Yo'q Yo'q Yo'q
default Ha Ha Yo'q Yo'q
protected Ha Ha Ha Yo'q
public Ha Ha Ha Ha

Foydalanish misollari:

public class Parent {

    private int privateField;       // Faqat Parent sinfi ichida kirish mumkin
    int defaultField;              // Paket ichida kirish mumkin
    protected int protectedField;   // Paket ichida va subklasslarda kirish mumkin
    public int publicField;         // Har joyda kirish mumkin

    private void privateMethod() {} // Faqat Parent sinfi ichida kirish mumkin
    void defaultMethod() {}        // Paket ichida kirish mumkin
    protected void protectedMethod() {} // Paket ichida va subklasslarda kirish mumkin
    public void publicMethod() {}   // Har joyda kirish mumkin
}
package another_package;

import some_package.Parent;

public class Child extends Parent {

    void accessFields() {
        // privateField = 10; // Xato: private
        defaultField = 20;   // Xato: default (boshqa paketda)
        protectedField = 30; // Kirish mumkin: protected (subklassda)
        publicField = 40;    // Kirish mumkin: public
    }

    void accessMethods() {
        // privateMethod(); // Xato: private
        // defaultMethod(); // Xato: default (boshqa paketda)
        protectedMethod(); // Kirish mumkin: protected (subklassda)
        publicMethod();  // Kirish mumkin: public
    }
}

Kirish imkoniyatlari sinflarning kapsüllenishi va API boshqaruvi uchun ishlatiladi.