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(){ }
か?