Sobes.tech
Junior

Խոսեք Java-ում մուտքի մոդիֆիկատորների մասին։

sobes.tech AI

Պատասխան AI-ից

Մուտքային մոդիֆիկատորները կառավարում են Java-ում դասերի, դասի անդամների (մարզիչների, մեթոդների, կոնստրուկտորների) տեսանելիությունը:

Կան չորս մոդիֆիկատոր:

  • public
  • protected
  • default (մոդիֆիկատոր չունեցող)
  • private

Նրանց տեսանելիությունը տարբեր կոնտեքստերում:

Մոդիֆիկատոր Դասի ներսում Փաթեթի ներսում Տարածքային դասում (յուրաքանչյուր փաթեթում) Ամենուր
private Այո Ոչ Ոչ Ոչ
default Այո Այո Ոչ Ոչ
protected Այո Այո Այո Ոչ
public Այո Այո Այո Այո

Օգտագործման օրինակներ:

public class Parent {

    private int privateField;       // Միայն Parent դասի ներսում հասանելի
    int defaultField;              // Փաթեթի ներսում հասանելի
    protected int protectedField;   // Փաթեթի և ժառանգական դասերի ներսում հասանելի
    public int publicField;         // Ամենուր հասանելի

    private void privateMethod() {} // Միայն Parent դասի ներսում հասանելի
    void defaultMethod() {}        // Փաթեթի ներսում հասանելի
    protected void protectedMethod() {} // Փաթեթի և ժառանգական դասերի ներսում հասանելի
    public void publicMethod() {}   // Ամենուր հասանելի
}
package another_package;

import some_package.Parent;

public class Child extends Parent {

    void accessFields() {
        // privateField = 10; // Խափանում: private
        defaultField = 20;   // Խափանում: default (այլ փաթեթում)
        protectedField = 30; // Հասանելի: protected (ժառանգական դասում)
        publicField = 40;    // Հասանելի: public
    }

    void accessMethods() {
        // privateMethod(); // Խափանում: private
        // defaultMethod(); // Խափանում: default (այլ փաթեթում)
        protectedMethod(); // Հասանելի: protected (ժառանգական դասում)
        publicMethod();  // Հասանելի: public
    }
}

Մոդիֆիկատորները օգտագործվում են ինկապսուլյացիայի և API կառավարման համար։