Kotlin Android基地方法不能调用

我有这样的基本活动,它有抽象方法abc()

abstract class Base: AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) { super.onCreate(savedInstanceState, persistentState) Log.i("abc", "onCreate base") abc() } abstract fun abc() } 

MainActiviy扩展基地

 class MainActivity : Base() { override fun abc() { Log.i("abc", "method called from base") } @Inject lateinit var mainPresenter: MainPresenter override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) Log.i("abc", "onCreate") App.appComponent.plus(MainModule(this)).inject(this) button.setOnClickListener { mainPresenter.performToast(editText.text.toString()) } } fun showToast(string: String) { toast(string) } } 

当我运行MainActivity时,日志只显示“onCreate”。 这意味着来自Base的onCreate没有被调用。 你能告诉我为什么不调用基方法吗? 它看起来很愚蠢,但我尝试和基地没有被调用相同的代码工作在JAVA

在这两个类中你不会重写相同的onCreate方法。 看看这个文档,看起来这个或那个将被调用,取决于persistableMode是否设置为persistAcrossReboots 。 这意味着Base类中的代码可能永远不会被执行,无论你在子类中做什么。