Android - 在 kotlin 中重载 Application class 构造函数是否正确?

Android - Is it correct to overload the Application class constructor in kotlin?

有人提议在主应用程序中实现这样的东西 class:

class MyApplication(someProp = SomeClass()): Application {
    init {
        ... do some initializations
    }
}

我一直使用 OnCreate 方法来执行我的应用程序的所有初始化,我非常确信重载构造函数是错误的,即使它们是可选参数;但我有点怀疑它是否可行。

这将起作用,因为您为该构造函数参数提供了默认值,因此还会生成一个空的构造函数,这就是将要使用的构造函数。

但是,我看不出这样做有什么意义。 Application class 仅由 OS 实例化,它是通过调用空构造函数通过反射完成的。因此,通过添加此参数,它表明它还有其他一些预期用途,但这是不可能的情况。那是钝代码。将此 SomeClass() 实例化放在初始化块中会更有意义。