我刚开始使用Kotlin试验 Android 应用程序。我只想像这样继承Application类:
class SomeApp : Application {
}
但是编译器会发出警告:
并建议将其更改为:
class SomeApp : Application() {
override fun onCreate() {
super.onCreate()
}
}
我在 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(){ }
?