Kotlin 概述
-
Kotlin 由 JetBrains 开发,是一种在 JVM(Java 虚拟机)上运行的静态类型编程语言
-
Kotlin 旨在提高开发者的编码效率和安全性,同时保持与 Java 的高度互操作性
-
Kotlin 是 Android 应用开发的首选语言,也可以与 Java 一样用于服务器端开发
一、类与对象
- 声明一个类
kotlin
class Person {
var name: String = ""
var age: Int = 0
fun introduce() {
println("$name - $age")
}
}
- 如果一个类没有类体,可以省略花括号
kotlin
class Empty
- 创建与使用对象
kotlin
val person = Person()
person.introduce()
person.name = "Alice"
person.age = 30
person.introduce()
二、主构造函数
1、声明
- 完整的构造函数声明
kotlin
class People constructor(name: String, age: Int) {
var name: String = name
var age: Int = age
fun introduce() {
println("$name - $age")
}
}
- 简化的构造函数声明
kotlin
class People(name: String, age: Int) {
var name: String = name
var age: Int = age
fun introduce() {
println("$name - $age")
}
}
- 更加简化的构造函数声明
kotlin
class People(var name: String, var age: Int) {
fun introduce() {
println("$name - $age")
}
}
- 使用不可变属性
kotlin
class People(val name: String, val age: Int) {
fun introduce() {
println("$name - $age")
}
}
2、使用
- 使用位置参数方式创建对象(必须按声明顺序)
kotlin
val people = People("Jack", 18)
- 使用命名参数方式创建对象(参数顺序可以调换)
kotlin
val people = People(age = 18, name = "Jack")
三、带有默认参数值的主构造函数
1、声明
kotlin
class Employee(var name: String = "Unknown", var age: Int = 0) {
fun introduce() {
println("$name - $age")
}
}
2、使用
- 调用时可以不传参数,使用默认值
kotlin
val employee1 = Employee("Jack", 18)
val employee2 = Employee("Jack")
val employee3 = Employee(age = 18)
val employee4 = Employee()
employee1.introduce()
employee2.introduce()
employee3.introduce()
employee4.introduce()
# 输出结果
Jack - 18
Jack - 0
Unknown - 18
Unknown - 0
四、次要构造函数
1、声明
kotlin
class Worker(var name: String, var age: Int) {
constructor(name: String) : this(name, 0)
constructor(age: Int) : this("Unknown", age)
constructor() : this("Unknown", 0)
fun introduce() {
println("$name - $age")
}
}
2、使用
- 使用主构造函数
kotlin
val worker = Worker("Jack", 18)
- 使用次要构造函数(只接受 name 参数)
kotlin
val worker = Worker("jack")
- 使用次要构造函数(只接受 age 参数)
kotlin
val worker = Worker(18)
- 使用次要构造函数(不接受参数)
kotlin
val worker = Worker()