Back to questions
Junior — Middle
69
Является ли объект-компаньон общим для всех созданных экземпляров класса?
Companies where asked
Магнит Тех
Answer from AI
sobes.tech AI
Да, объект-компаньон (companion object) в Kotlin является общим для всех экземпляров класса. Это своего рода синглтон, связанный с классом, а не с конкретным его экземпляром.
Объект-компаньон позволяет определять функции и свойства, которые можно вызывать без создания экземпляра класса, аналогично статическим методам и полям в Java.
Пример:
class MyClass {
companion object {
val sharedValue = 42
fun printValue() {
println("Shared value: $sharedValue")
}
}
}
fun main() {
println(MyClass.sharedValue) // 42
MyClass.printValue() // Shared value: 42
}
Здесь sharedValue и printValue общие для всех экземпляров MyClass.