Junior
Pasakokite apie prieigos modifikatorius Java kalboje.
sobes.tech AI
Atsakymas iš AI
Prieigos modifikatoriai valdo matomumą Java klasėse ir jų narių (laukeliai, metodai, konstruktoriai) matomumą.
Yra keturi prieigos modifikatoriai:
publicprotecteddefault(be modifikatoriaus)private
Jų matomumas skirtinguose kontekstuose:
| Modifikatorius | Klasės viduje | Paketo viduje | Pusiau paveldėtuose (bet kuriame pakete) | Visur |
|---|---|---|---|---|
private |
Taip | Ne | Ne | Ne |
default |
Taip | Taip | Ne | Ne |
protected |
Taip | Taip | Taip | Ne |
public |
Taip | Taip | Taip | Taip |
Pavyzdžiai:
public class Parent {
private int privateField; // Tik Parent klasėje
int defaultField; // Pakete
protected int protectedField; // Pakete ir paveldėtuose
public int publicField; // Visur
private void privateMethod() {} // Tik Parent klasėje
void defaultMethod() {} // Pakete
protected void protectedMethod() {} // Pakete ir paveldėtuose
public void publicMethod() {} // Visur
}
package another_package;
import some_package.Parent;
public class Child extends Parent {
void accessFields() {
// privateField = 10; // Klaida: private
defaultField = 20; // Klaida: default (kito paketo)
protectedField = 30; // Pasiekiama: protected (paveldėtuose)
publicField = 40; // Pasiekiama: public
}
void accessMethods() {
// privateMethod(); // Klaida: private
// defaultMethod(); // Klaida: default (kito paketo)
protectedMethod(); // Pasiekiama: protected (paveldėtuose)
publicMethod(); // Pasiekiama: public
}
}
Modifikatoriai naudojami inkapsuliacijai ir API valdymui.