我正在做一个面向对象的项目,我想提高我对 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 个文件。