最近开始学习Kotlin。在 Kotlin 中声明 main 函数时,我注意到一个有趣的行为。即使在对象类中,它也使用 @JvmStatic 注释。我环顾四周,没有找到相关的帖子。
object Main {
@JvmStatic
fun main(args: Array<String>) {
println("Hello World")
}
}
Run Code Online (Sandbox Code Playgroud)
为什么 Kotlin 中的 main 函数需要 @JvmStatic 注解?
来自 Java 和 Scala 的背景,这似乎是多余和不必要的,所以我很好奇是什么背景和决策使得 Kotlin 采用了这个约定。