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 класстарын башкаруу үчүн колдонулат.