Модификаторы доступа

Уровни доступа (access modifiers) в Java определяют, где и какие классы, методы, переменные и конструкторы могут быть доступны. Java имеет четыре уровня доступа:

  1. public:

    • Публичные члены доступны из любого места в коде, включая другие пакеты.

    • Публичные классы, методы, переменные и конструкторы могут быть доступны в любом месте.

Пример:

public class MyClass {
    public void myMethod() {
        // Код метода
    }
}
  1. private:

    • Приватные члены доступны только внутри того же класса.

    • Они недоступны из других классов, включая подклассы и другие классы в том же пакете.

Пример:

public class MyClass {
    private int myField;
    
    private void myMethod() {
        // Код метода
    }
}
  1. protected:

    • Защищенные члены доступны только внутри того же класса, в подклассах и внутри того же пакета.

    • Они не доступны из любого места вне пакета, если класс не является подклассом.

Пример:

public class MyClass {
    protected int myField;
    
    protected void myMethod() {
        // Код метода
    }
}
  1. default (package-private):

    • Если не указано никаких модификаторов доступа, то доступ будет иметь "по умолчанию" (package-private).

    • Члены с таким уровнем доступа доступны только внутри того же пакета, но не доступны из других пакетов.

Пример:

class MyClass {
    int myField;
    
    void myMethod() {
        // Код метода
    }
}

Last updated