有人建议在主应用程序类中实现这样的东西:
class MyApplication(someProp = SomeClass()): Application {
init {
... do some initializations
}
}
我一直使用 OnCreate
方法来执行应用程序的所有初始化,并且我非常确信重载构造函数是错误的,即使它们是可选参数;但我有点怀疑它是否有效。
最佳答案
这将起作用,因为您为该构造函数参数提供了默认值,因此还会生成一个空构造函数,这就是将使用的构造函数。
但是,我认为这样做没有任何目的。 Application 类仅由操作系统实例化,并且是通过反射、调用空构造函数来完成的。因此,通过添加此参数,可以传达出它还有其他预期用途,但这是不可能的情况。那是钝代码。将这个 SomeClass()
实例化放在初始化 block 中会更有意义。
关于Android - 在 kotlin 中重载应用程序类构造函数是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67792907/