Junior
Дар бораи модификаторҳои дастрасӣ дар Java гап занед.
sobes.tech AI
Ҷавоб аз AI
Манипулятары киришти башкаруу үчүн Javaда класстарды, класстын мүчөлөрүн (тезмектер, методдор, конструкторлор) көрүү мүмкүнчүлүгүн көзөмөлдөйт.
Төрт киришти манипулятору бар:
publicprotecteddefault(манипуляторсуз)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 класстарын башкаруу үчүн колдонулат.