Sobes.tech
Junior

Vertel over de toegangsmodifiers in Java.

sobes.tech AI

Antwoord van AI

Toegangsmodifiers regelen de zichtbaarheid van klassen, klasseleden (velden, methoden, constructors) in Java.

Er zijn vier toegangsmodifiers:

  • public
  • protected
  • default (zonder modifier)
  • private

Hun zichtbaarheid in verschillende contexten:

Modifier Binnen de klasse Binnen het pakket In een subclass (in elk pakket) Overal
private Ja Nee Nee Nee
default Ja Ja Nee Nee
protected Ja Ja Ja Nee
public Ja Ja Ja Ja

Voorbeelden van gebruik:

public class Parent {

    private int privateField;       // Alleen toegankelijk binnen de Parent-klasse
    int defaultField;              // Toegankelijk binnen het pakket
    protected int protectedField;   // Toegankelijk binnen het pakket en in subclasses
    public int publicField;         // Toegankelijk overal

    private void privateMethod() {} // Alleen toegankelijk binnen de Parent-klasse
    void defaultMethod() {}        // Toegankelijk binnen het pakket
    protected void protectedMethod() {} // Toegankelijk binnen het pakket en in subclasses
    public void publicMethod() {}   // Toegankelijk overal
}
package another_package;

import some_package.Parent;

public class Child extends Parent {

    void accessFields() {
        // privateField = 10; // Fout: privé
        defaultField = 20;   // Fout: default (in ander pakket)
        protectedField = 30; // Toegankelijk: protected (in subclass)
        publicField = 40;    // Toegankelijk: public
    }

    void accessMethods() {
        // privateMethod(); // Fout: privé
        // defaultMethod(); // Fout: default (in ander pakket)
        protectedMethod(); // Toegankelijk: protected (in subclass)
        publicMethod();  // Toegankelijk: public
    }
}

Modificators worden gebruikt voor encapsulatie en beheer van de API van klassen.