Kotlin 类不允许我从不同的文件扩展抽象类



我正在做一个面向对象的项目,我想提高我对 Kotlin 的 OOP 部分的理解。我有以下抽象类:

package Objecttest
abstract class Abstractclasstest {
abstract fun testString(s: String): String
}

现在我想在另一个文件的新类中扩展它,如下所示:

package Objecttest
public class Newclasstest : Abstractclasstest() {
override fun testString(s: String): String {
return s
}
}

但是当我尝试编译Newclasstest.kt时,我遇到了以下错误消息:"错误:未解决的引用:抽象类测试"。

文件夹结构:
Objecttest/
├── Abstractclasstest.kt ├── Newclasstest.kt

为什么会这样,我该如何解决它?最重要的一点是为什么,因为我想避免将来犯同样的错误。

在我看来,您需要首先使用kotlinc Abstractclasstest.kt编译Abstractclasstest.kt,然后才编译Newclasstest.kt如下:kotlinc -cp . Newclasstest.kt.这将在与Newclasstest.kt相同的路径中搜索类文件,它应该已经在其上找到与Abstractclasstest.kt相对应的文件。或者您可以使用kotlinc *.kt同时编译 2 个文件。

最新更新