我无法将继承的单例模式从 Java 转换为 Kotlin。
open class ThumbnailManager {
lateinit var data: Data
companion object{
fun getInstance(): ThumbnailManager{
return ThumbnailManager()
}
}
open fun setContent()
open fun setData(){
data = ...// data is indeed set
}
}
class ThumbnailManagerLite : ThumbnailManager(){
companion object{
fun getInstance(): ThumbnailManagerLite{
return ThumbnailManagerLite()
}
}
override fun setContent(){
setData()
}
}
从主要类之一(不是精简版)我调用 ThumbnailManager.getInstance().gameData 并且 gameData 为空,即使它肯定是通过 ThumbnailManagerLite 初始化的。我注意到,当我调用 ThumbnailManagerLite.getInstance() 时,没有调用 super。