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

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

Классы, объекты, интерфейсы, конструкторы, функции, свойства и их setter-ы могут иметь модификаторы доступа. Getter свойства имеет такой же уровень доступа как и само свойство.

В языке Kotlin 4 модификатора доступа: private, protected, internal и public. По умолчанию используется уровень доступа public.

  • Private – делает объект доступным как для чтения так и для записи только внутри класса, из других классов получить доступ к private объектам класса недопустимо. Это самый закрытый модификатор доступа.
  • Protected – делает объект доступным также для наследуемых классов, но из других классов также получить доступ недопустимо. В процессе наследования наследуемый класс должен быть объявлен open, иначе он будет final и компилятор в данном случае предотвращает наследование класса.
  • Internal – делает объект доступным во всём модуле.
  • Public – самый открытый модификатор доступа, делает объекты доступными из любого класса.

Модификаторы доступа нельзя использовать в локальных переменных. Локальные переменные – переменные, объявляемые внутри блоков функций, if, when, for и т.д. Подробнее посмотрите в пункте область видимости.