Sobes.tech
Junior

Реци о модификаторима приступа у Јави.

sobes.tech АИ

Одговор од АИ

Modifikatori pristupa kontrolišu vidljivost klasa, članova klase (polja, metode, konstruktori) u Javi.

Postoje četiri modifikatora pristupa:

  • public
  • protected
  • default (bez modifikatora)
  • private

Njihova vidljivost u različitim kontekstima:

Modifikator Unutar klase Unutar paketa U podklasi (u bilo kojem paketu) Svuda
private Da Ne Ne Ne
default Da Da Ne Ne
protected Da Da Da Ne
public Da Da Da Da

Primeri upotrebe:

public class Parent {

    private int privateField;       // Dostupno samo unutar klase Parent
    int defaultField;              // Dostupno unutar paketa
    protected int protectedField;   // Dostupno unutar paketa i u podklasama
    public int publicField;         // Dostupno svuda

    private void privateMethod() {} // Dostupno samo unutar klase Parent
    void defaultMethod() {}        // Dostupno unutar paketa
    protected void protectedMethod() {} // Dostupno unutar paketa i u podklasama
    public void publicMethod() {}   // Dostupno svuda
}
package another_package;

import some_package.Parent;

public class Child extends Parent {

    void accessFields() {
        // privateField = 10; // Greška: privatno
        defaultField = 20;   // Greška: default (u drugom paketu)
        protectedField = 30; // Dostupno: protected (u podklasi)
        publicField = 40;    // Dostupno: public
    }

    void accessMethods() {
        // privateMethod(); // Greška: privatno
        // defaultMethod(); // Greška: default (u drugom paketu)
        protectedMethod(); // Dostupno: protected (u podklasi)
        publicMethod();  // Dostupno: public
    }
}

Modifikatori se koriste za enkapsulaciju i upravljanje API-jem klasa.