目录
空类
声明类和构造函数
空类
使用 class 关键字声明类;
空类 什么都不做。
class MClass
fun testClazz(): Unit {
val mz = MClass()
println(mz) // kotlin中不需要 new
println(mz is MClass)
println(mz :: class) // :: 类引用操作符
}

目录
空类
声明类和构造函数
使用 class 关键字声明类;
空类 什么都不做。
class MClass
fun testClazz(): Unit {
val mz = MClass()
println(mz) // kotlin中不需要 new
println(mz is MClass)
println(mz :: class) // :: 类引用操作符
}
class Person(var name: String, var age:Int, var sex:String) {
// override 关键字,重写 toString() 函数
override fun toString(): String {
return "Person【name: $name, age: $age, sex:$sex】"
}
}
fun testP0(): Unit {
val person = Person("Jack", 18, "M")
println("person = $person")
// 输出:person = Person【name: Jack, age: 18, sex:M】
}
class PersonX {
lateinit var name: String // lateinit 关键字,表示该属性延迟初始化
var age:Int = 1 // lateinit 关键字不能修饰 原始数据类型
lateinit var sex: String
override fun toString(): String {
return "PersonX【name: $name, age: $age, sex:$sex】"
}
}
fun testPX(): Unit {
val px = PersonX()
px.sex = "W"
px.age = 19
px.name = "Lucy"
println("px = $px")
// 输出:px = PersonX【name: Lucy, age: 19, sex:W】
}
class PersonPro {
lateinit var name: String // lateinit 关键字,表示该属性延迟初始化
var age:Int = 1 // lateinit 关键字不能修饰 原始数据类型
lateinit var sex: String
constructor(name: String) {
this.name = name
}
constructor(name: String, age: Int) {
this.name = name
this.age = age
}
constructor(name: String, age: Int, sex: String) {
this.name = name
this.age = age
this.sex = sex
}
override fun toString(): String {
return "PersonPro【name: $name, age: $age, sex:$sex】"
}
}
fun testPersonPro(): Unit {
val p1 = PersonPro("MaXin")
p1.sex = "W"
p1.age = 18
println(p1) // PersonPro【name: MaXin, age: 18, sex:W】
val p2 = PersonPro("Lily", 19, "W")
println("$p2") // PersonPro【name: Lily, age: 19, sex:W】
}