我注意到我们可以在Kotlin中创建类,而无需像下面这样花括号。

//Example classFile.kt
class Empty

class SecondEmpty

fun firstMethod() {

}

我的问题是,为什么我们需要这样的功能?在什么情况下可以使用?

在上面的示例中,我编写了一种名为firstMethod()的方法,如何从其他对象中调用它呢?

最佳答案

空类已经在What is the purpose of empty class in Kotlin?中讨论过了。

关于您的firstMethod:在Kotlin中,我们有所谓的顶级函数。这些可以在没有封闭类的任何文件中定义。另一个例子是main,它在大多数情况下是顶级定义的。

如何调用顶级函数?

您可以简单地将函数导入其他文件并调用它们。例如,如果在firstMethod(包com.x)中定义了com/x/Example.kt,则可以在其他Kotlin文件中导入com.x.firstMethod并调用该方法。

对于Java,重要的是要知道,顶级函数作为static成员被编译到一个类中。对于上面的示例,您可以从Java调用com.x.ExampleKt.firstMethod

10-06 06:59