我正在一个Java项目中工作,负责将某些类迁移到Kotlin。有一个Java抽象类,它具有下一个方法:

protected abstract boolean init(params) {
    ...
}

并且该类正在公共(public)类中扩展,因此我重写了这样的方法:
@Override
protected boolean init(params) {
    ...
}

因此,当尝试将此公共(public)类(class)迁移到Kotlin时,
override protected fun init(params): Boolean{}

我收到错误Kotlin:修饰符'override'不适用于'initializer',因为方法的名称init是Kotlin中的关键字。我知道解决此问题的一种方法是更改​​抽象类中方法的名称(例如,从init到Initialize),但是该方法在项目中具有大量用途,因此我想知道是否有解决此问题的更好方法在花时间重构整个项目之前。

最佳答案

不要使用 protected 关键字。您可以在公共(public)类中使用这种方法。

override fun init(): Boolean {
    ...
}

07-24 09:37
查看更多