Junior — Middle
Hansı daxili sinflər, onların yaradılması açıq şəkildə müəyyən edilmədikdə, başqa bir sinif daxilində avtomatik olaraq elan edilir?
sobes.tech Süni İntellekt
AI-dan cavab
В Java и Kotlin внутри класса автоматически не объявляются никакие внутренние классы, если они явно не определены разработчиком. Однако в Kotlin есть особенность: если внутри класса объявлен объект с ключевым словом companion object, то он автоматически становится синглтоном, связанным с этим классом, и доступен без создания экземпляра класса.
То есть, если не создавать внутренние классы явно, то никаких внутренних классов не будет. В Kotlin companion object — это единственный автоматически создаваемый объект внутри класса, если он объявлен.
Пример Kotlin:
class MyClass {
companion object {
val CONSTANT = 42
fun create() = MyClass()
}
}
// Использование:
val instance = MyClass.create()
val value = MyClass.CONSTANT
В Java подобных автоматически создаваемых внутренних классов нет.