Выбор ответа Middle Основы языка обновлено
Во что компилируется функция верхнего уровня
Вопрос
Во что компилируется функция fun hello() из файла Utils.kt на JVM?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: В статический метод класса UtilsKt. Для функций и свойств верхнего уровня компилятор создаёт класс <ИмяФайлаKt со статическими членами.
Варианты ответа
- В метод экземпляра класса
Utils - В лямбду, сохранённую в глобальной переменной
- В статический метод класса
UtilsKtправильный ответ - В отдельный класс
hello
Разбор
Для функций и свойств верхнего уровня компилятор создаёт класс <ИмяФайла>Kt со статическими членами. Из Java вызывают UtilsKt.hello(), имя класса меняют аннотацией @file:JvmName("Utils"). Экземпляра класса, лямбды или отдельного класса на функцию не создаётся.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.