Kotlin學習筆記-----面向對象
阿新 • • 發佈:2018-04-02
pre style 初始 line var lin position this otto
構造方法
kotlin中, 一個類的構造方法有好幾種形式
-
constructor關鍵字
?
class User {
private var username:String
private var password:String
// 無參構造
constructor() {
}
// 有參構造
constructor(username:String, password:String) {
this.username = username
this.password = password
}
}
?
?
-
constructor簡寫形式
// 無參
classUser {
}
?
// 有參
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")
}
Kotlin學習筆記-----面向對象