Модификаторы видимости в Kotlin определяют доступность объявлений (классов, интерфейсов, функций, свойств) для других частей программы.
Основные модификаторы видимости:
public: Видно везде. Является модификатором по умолчанию.internal: Видно только внутри одного модуля. Модулем считается набор Kotlin-файлов, компилируемых вместе.protected: Видно внутри класса и его подклассов (включая членов, определенных в классах-наследниках). Не видно извне пакета.private: Видно только внутри файла, в котором объявлено. Для членов класса видно только внутри этого класса (и его companion object, вложенных и внутренних классов).Применение модификаторов:
Пример:
kotlin
| Модификатор | Доступность | Где использовать |
|---|---|---|
public | Везде | По умолчанию, когда не указан другой модификатор |
internal | Внутри модуля | Для API внутри библиотеки или модуля |
protected | Внутри класса и его подклассов (для членов класса) | Для создания иерархии классов с наследованием |
private | Внутри файла (для верхнего уровня); внутри класса (для членов) | Для сокрытия деталей реализации внутри файла или класса |