Kotlin学习笔记-----面向对象
构造方法
kotlin中, 一个类的构造方法有好几种形式
1.constructor关键字
class User { private var username:String private var password:String // 无参构造 constructor() { } // 有参构造 constructor(username:String, password:String) { this.username = username this.password = password } }
2. constructor简写形式
// 无参 class User { } // 有参 class User(username:String, password:String) { var username:String = "" var password:String = "" }
也可以写为
class User (username:String, password:String) { var username:String? = null var password:String? = null }
也可以使用lateinit
表示的是延迟加载, kotlin的类的所有属性在定义时, 都要手动初始化, 但如果不想手动初始化, 那么可以使用lateinit
来修饰
class User (username:String, password:String) { // 使用lateinit来表示延迟初始化 var lateinit username:String var lateinit password:String // 使用lateinit后, 要在init{}中初始化 init { this.username = username this.password = password }
}
上面的写法可以继续简写
class User(username:String, password:String) { // 直接赋值 private var username: String = username private var password: String = password }
还能够继续简化
class User(private var username: String, private var password: String) { }
创建对象
kotlin中创建对象不需要java的new
关键字
fun main(args: Array<String>) { var user = User("abc", "123") }