Выбор ответа Junior Java-интероп обновлено
Функции верхнего уровня из Java
Вопрос
Как Java вызовет функцию fun slug(s: String) из файла TextUtils.kt без аннотаций?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: TextUtilsKt.slug(s). Функции верхнего уровня попадают в синтетический класс <ИмяФайлаKt как статические методы.
Варианты ответа
TextUtils.slug(s)TextUtilsKt.slug(s)правильный ответslug(s)new TextUtils().slug(s)
Разбор
Функции верхнего уровня попадают в синтетический класс <ИмяФайла>Kt как статические методы. Чтобы Java писала TextUtils.slug(s), в начале файла ставят @file:JvmName("TextUtils"). Глобальных функций в Java нет, экземпляр класса не нужен.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.