【发布时间】:2016-03-18 20:08:27
【问题描述】:
我刚刚开始使用 Kotlin 试验 Android 应用程序。我只是想像这样继承Application 类:
class SomeApp : Application {
}
但是编译器会发出警告:
建议将其更改为:
class SomeApp : Application() {
override fun onCreate() {
super.onCreate()
}
}
我读到了primary and secondary constructors in the docs。那么如果超类有主构造函数,那么这里有必要写吗?像Application类有自己的构造函数
public Application() {
super(null);
}
那么派生需要主构造函数吗?或者我不能做类似 Java 的事情吗:
class SomeApp : Application {
constructor SomeApp(){
super();
}
}
或者这个错误暗示了别的什么?谁能详细解释我?我对这门语言很陌生,这对我来说很奇怪。
编辑:在 java 中我可以执行以下操作:class SomeApp extends Application{ }
它有隐式构造函数,所以我不必写:class SomeApp extends Application{ public Application(){ super(); } } 但是在 kotlin 中我必须定义如下的空构造函数:
class SomeApp:Application(){ }
?
【问题讨论】:
标签: android constructor kotlin kotlin-android-extensions