Является ли приложение () классом или функцией в Котлине?

Я новичок Kotlin, следующий пример кода с веб-страницы.

Я считаю, что Application () является классом, а UIApp наследуется от класса Application ().

Но в Android Studio 3.01 намек на Application () отображается как метод, вы можете увидеть iamge, он меня смущает!

Изображение подсказки в Android Studio 3.01

введите описание изображения здесь

class UIApp : Application() { companion object { var instance: UIApp by NotNullSingleValueVar() } override fun onCreate() { super.onCreate() instance = this } class NotNullSingleValueVar<T> { private var value: T? = null operator fun getValue(thisRef: Any?, property: KProperty<*>): T = value ?: throw IllegalStateException("${property.name} not initialized") operator fun setValue(thisRef: Any?, property: KProperty<*>, value: T) { this.value = if (this.value == null) value else throw IllegalStateException("${property.name} already initialized") } } } 

Класс не может наследовать функцию.

Вы наследуете класс Application, который имеет только один конструктор, который является пустым конструктором

https://kotlinlang.org/docs/reference/classes.html#inheritance