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:
publicprotecteddefault(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.