kotlin - 为什么我们不在 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 类上编写main
方法,它必须在companion object
class SuperCoolProgram {
companion object {
@JvmStatic
fun main(args: Array<String>) {
println("Hello Super Cool Program")
}
}
}
静态方法只能写在里面,companion object
因为它是唯一的静态方法
推荐阅读
- android - GoogelFit 示例应用 BasicHistoryApiKoltin,在 2 台设备上正常工作,在三星上它给出 APIException 5000
- laravel - 电子邮件验证 laravel 7
- angular - Angular with Azure Ad - 成功后路由到另一个组件
- mysql - 计算具有唯一值的多列
- pandas - 查找被视为浮点数但实际上可以写为整数的 pandas 数据框列
- flutter - 未处理的异常:MissingPluginException(在通道 dexterous.com/flutter/local_notifications 上找不到方法显示的实现)
- makefile - 如何实现所有没有星号扩展名的文件?
- hyper-v - 事件查看器中缺少 Hyper-V 事件通道
- apache-kafka - 为微服务扩展 Kafka
- html - 如何处理 HTML 输入字段中 Curly/Smart 双引号(”) 和 Straight 双引号(”) 之间的冲突