首页 > 解决方案 > 为什么我们不在 Kotlin 的类中编写 main()?

问题描述

为什么 kotlin 不允许像 Java 一样在类中使用 main() 函数?为什么在课堂之外允许这样做?是不是违反了OOP原则?我很困惑!

class Person ( var name : String, var age : Int) {
    // putting main here
    fun main(args : Array<String>) {
        val person = Person("Neek", 34)
        println("my name is ${person.name}")
        println("my name is ${person.age}")
    }
}

试图将 main() 包含在一个类中,我收到以下错误。

warning: parameter 'args' is never used
    fun main(args : Array<String>) {
no main manifest attribute

标签: kotlin

解决方案


您可以在 Kotlin 类上编写main方法,它必须在companion object

class SuperCoolProgram {

    companion object {
        @JvmStatic
        fun main(args: Array<String>) {
            println("Hello Super Cool Program")
        }
    }

}

静态方法只能写在里面,companion object因为它是唯一的静态方法


推荐阅读