Я просто начал экспериментировать с Android-приложением, используя Kotlin. Я просто хотел наследовать класс Application следующим образом:
class SomeApp : Application {
}
Но компилятор вызывает предупреждение:
и предложение меняет его на:
class SomeApp : Application() {
override fun onCreate() {
super.onCreate()
}
}
Я читал о первичных и вторичных конструкторах в документах. Итак, если у суперкласса есть первичный конструктор, то нужно ли здесь писать? как класс 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(){ }