(1) 学过java的小伙伴们应该知道,java的main方法是静态的,且写在class中。Kotlin就有所不同,一般的写法可以将main函数写在class外
class Test{
}
/** 我是main入口函数 **/
fun main(args: Array) {
var test=Test();
println("main在class外执行!")
}
运行结果:
(2) 当然也有将main函数写在class内的方法
(此段转载自:https://blog.csdn.net/qq_19306415/article/details/81902197)
class Test{
companion object {
/** 我是main入口函数 **/
@JvmStatic
fun main(args: Array) {
var test=Test();
}
}
}
解释:
companion object { //我是静态块
/**
这里面定义的静态变量跟静态方法,类似java的:static
**/
}
相当于java中的
public static void main(String[] args){
}
原文链接:https://blog.csdn.net/qq_19306415/article/details/81902197
声明:使用fun关键词进行声明(function的缩写)
格式:
fun method(param1 : Int , param2 : Int) : Int {
return 0
}
PS:声明函数返回值类型,如果是Void可以不写(省略)
上述 method 指的是 方法名 , 参数一 与 参数二 指的是参数名,方法名 与 参数名 可以自己修改。如果不想接收任何参数,那么可以只写一对空括号。(这一点与java相同)
定义 : 由Kotlin提供的一系列的内置函数
简单的一些内置函数:
如:Int max(Int num)
用法:(要导包: import kotlin.math.max)
fun largerNumber(num1 : Int , num2 : Int) : Int {
return max(num1,num2)
}
还有一些复杂的内置函数,如
今天就不列举了,但是以上是偏Java的一种写法,Kotlin提供了一种更方便的语法格式:
(1) 当一个函数中只有一行代码时,Kotlin允许我们不必写函数体,可以将唯一的一行代码用 "=" 连接在尾部
fun largerNumber(num1 : Int , num2 : Int) : Int = max(num1 , num2)
但是,其实还可以再简化...
(2) 由于max()函数返回的是Int值,largerNumber()又在尾部使用了等于号,因此Kotlin可自动推导出largerNumber()函数的返回也必然是一个Int值,这样就不用显示的声明Int
fun largerNumber(num1 : Int , num2 : Int) = max(num1 , num2)
Kotlin小白,在学习郭霖老师的作品时做的笔记。若有错误之处欢迎指出!感谢阅读!
参考:
Kotlin如何在类里面创建main函数_新猿的博客-CSDN博客_kotlin main函数
《第一行代码 Android (第三版)》 ---郭霖