Выбор ответа Middle Классы, data и sealed спрашивают часто обновлено
companion object и static
Вопрос
Как метод из companion object выглядит для Java-кода без дополнительных аннотаций?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Как метод синглтона User.Companion.create(). Companion object это настоящий объект-синглтон, вложенный в класс, с именем Companion по умолчанию.
Варианты ответа
- Как статический метод
User.create() - Он недоступен из Java без
@JvmStatic - Как метод синглтона
User.Companion.create()правильный ответ - Как метод экземпляра
new User().create()
Разбор
Companion object это настоящий объект-синглтон, вложенный в класс, с именем Companion по умолчанию. Из Kotlin пишут User.create(), а из Java без аннотаций нужно User.Companion.create(). Чтобы получить настоящий статический метод, добавляют @JvmStatic, для поля @JvmField или const.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.