对于 Android 开发,大多数人学习 Kotlin 之前,基本上都是使用 Java 的,而且 Kotlin 还无缝兼容 Java。因此,初学Kotlin时可能多多少少在语法上会受到 Java 的影响,导致学习时一些基本语法搞混。
比如在 Android Studio 建立的 Kotlin 项目中运行单个 Kotlin 文件,就必须先写好 main 函数,当然任何一种语言都是如此,需要一个入口函数才能运行。
配置运行环境
在 Android Studio 中打开“File->Setting->Plugins”,安装 Kotlin 插件(IDEA操作相同)。建立新项目,在语言一栏选择 Kotlin,项目建立后在工作文件夹内新建一个 Kotlin 文件。
Kotlin与Java的main函数对比
先看看 Java 里面的 main 函数:
public class JavaClass {
public static void main(String[] args){
System.out.println("class name is:"+ JavaClass.class.getSimpleName()));
}
}
main 函数必须在一个 class 里,而且 main 函数必须是 public 作用域,并声明成静态类型;一个类存在一个全局静态的 main 函数 java 就会把它当成一个应用程序,可以直接运行它。
Kotlin 里的 main 函数:
fun main(args : Array<String>){
print("Hello")
}
声明一个 main 函数,就可以直接运行了。如果像 Java 一样把唯一的 main 函数写在 class 里面,则软件里面连运行按钮都没有。
而且 .kt 文件里面也可以直接创建 class 类,但与 Java 不同,Java 的 main 函数是写在 class 里面并充当入口函数,若 Kotlin 文件的某个 class 里面也有一个 main 函数,则此 main 函数只是这个类里面的一个常规方法。
如下:
fun main(args : Array<String>){
var demo = Demo()
demo.main("Hello")
}
class Demo {
var name: String = ""
fun main(name: String) {
this.name = name
println(this.name)
}
}
Demo 类里面的 main 函数只是其内部的一个普通方法,与文件最上面的主 main 函数有区别 。