包的定义与导入
包的声明应处于源文件顶部:
package com.test.learnkotlin
import com.test.learnkotlin.bean.Person
目录与包的结构无需匹配:源代码可以在文件系统的任意位置。
参考包–英文版
参考包–中文版
程序入口点
Kotlin 应用程序的入口点是 main 函数。
fun main(){
println("hello world !")
}
另一种形式的 main 接受可变数量的 String 参数。
fun main(args: Array<String>){
println(args.contentToString())
val person = Person("test")
println(person.toString())
}
函数
带有两个 Int 参数、返回 Int 的函数:
fun sum(a: Int, b: Int): Int {
return a + b
}
将表达式作为函数体、返回值类型自动推断的函数:
fun sum2(a: Int,b: Int) = a + b
函数返回无意义的值:
fun printSum(a: Int, b: Int): Unit {
println("sum of $a and $b is ${a + b}")
}
Unit 返回类型可以省略:
fun printSum2(a: Int, b: Int) {
println("sum of $a and $b is ${a + b}")
}
变量
定义只读局部变量使用关键字 val 定义。只能为其赋值一次。
val a: Int = 1 // 立即赋值
val b = 2 // 自动推断出 `Int` 类型
//val c1: Int // 提示错误信息:必须初始化
val c2: Int = 0 // 初始化
//c2 = 3 // 提示错误信息:Might be const
可重新赋值的变量使用 var 关键字:
fun main(args: Array<String>) {
var x = 5 // 自动推断出 `Int` 类型
x += 1
}
顶层变量
val PI = 3.14
var x = 0
fun incrementX() {
x += 1
}
创建类和实例
使用 class 关键字定义一个类
class Shape
类的属性可以在构造函数声明或主体中列出。
class Rectangle(var height: Double, var length: Double) {
var perimeter = (height + length) * 2
}
默认带参数的构造函数,在类里面可以直接使用
val rectangle = Rectangle(5.0, 2.0)
println("The perimeter is ${rectangle.perimeter}")
类之间的继承由冒号 (