Understanding Java Access Modifiers

Access Modifier Table

Modifier Same Class Same Package Subclass Other Package
private
default
protected
public

1. private Access Modifier

Example:

class MyClass {
    private int value;  // Only accessible within MyClass

    private void displayValue() {
        System.out.println(value);
    }

    public void setValue(int value) {
        this.value = value;  // Allowed, because it's within the same class
    }
}

2. default (Package-Private) Access Modifier

3. protected Access Modifier

4. public Access Modifier

5. Best Practices