我注意到我们可以在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
。