Модификатор internal
Модификатор internal ограничивает область видимости
класса, интерфейса, функции или свойства пределами текущего модуля.
Это означает, что элемент, помеченный как internal,
будет доступен только внутри того же модуля, где он объявлен,
но не будет доступен из других модулей проекта.
Синтаксис
kotlininternal class ClassName { }
kotlininternal interface InterfaceName { }
kotlininternal fun functionName() { }
kotlininternal val propertyName: Type = value
kotlininternal var propertyName: Type = value
Пример
Объявление internal класса:
kotlininternal class DatabaseHelper {
fun connect() {
println("Connected to database")
}
}
Пример
Объявление internal функции:
kotlininternal fun validateInput(input: String): Boolean {
return input.isNotEmpty()
}
Пример
Объявление internal свойства:
kotlininternal val apiKey: String = "secret-key-12345"
internal var counter: Int = 0
Пример
Использование internal класса внутри того же модуля:
kotlininternal class Logger {
fun log(message: String) {
println("LOG: $message")
}
}
val logger = Logger()
logger.log("Application started")
Результат выполнения кода:
kotlinLOG: Application started
Пример
Комбинирование internal с другими модификаторами:
kotlininternal data class User(val name: String, val age: Int)
internal open class BaseService { }
internal object Config {
val timeout: Int = 5000
}