0
저는 Kotlin의 초보자입니다. 다음 샘플 코드는 웹 페이지에서 가져온 것입니다.Application()이 Kotlin의 클래스 또는 함수입니까?
Application()이 클래스이고 UIApp가 Application() 클래스에서 상속 받았다고 생각합니다.
Android Studio 3.01에서는 Application()의 힌트가 메서드로 표시되어 iamge가 표시되어 혼란스러워집니다!
클래스는 함수를 상속 할 수 없습니다 안드로이드에서 힌트의 이미지 스튜디오 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")
}
}
}
감사 하나만 생성자가 응용 프로그램 클래스를 계승하고 있지만 왜 응용 프로그램의 힌트입니다 (안드로이드 스튜디오 3.0의 방법으로 표시 ? – HelloCW
다시 말하지만, 메서드가 아니라 생성자입니다. 메소드에는 리턴 유형이 있습니다. 'public Application()'은 리턴 타입을 가지고 있지 않습니다. –