Назад к вопросам
Junior
110
questionbank
Какие существуют модификаторы доступа для типов в Kotlin?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
public: Виден везде. По умолчанию.private: Виден только внутри текущего файла или внутри класса/интерфейса (для членов).protected: Виден внутри класса/интерфейса, его подклассов и модулей-команды (companion objects). Не применим к top-level объявлениям.internal: Виден внутри одного модуля.
// Top-level объявление (применяется к файлу)
public class PublicClass // Виден везде (неявный public)
internal class InternalClass // Виден внутри модуля
private fun privateFunction() {} // Виден только в этом файле
class MyClass {
public val publicProperty: Int = 1 // Виден везде
internal val internalProperty: Int = 2 // Виден внутри модуля
private val privateProperty: Int = 3 // Виден только в MyClass
protected val protectedProperty: Int = 4 // Виден в MyClass и его подклассах
fun publicMethod() {} // Виден везде (неявный public)
internal fun internalMethod() {} // Виден внутри модуля
private fun privateMethod() {} // Виден только в MyClass
protected fun protectedMethod() {} // Виден в MyClass и его подклассах
}