關鍵字:class
建構函式
主建構函式
只能有乙個主建構函式,主建構函式為類頭的一部分:在類名之後
class person constructor
(firstname: string)
主建構函式不能包含任何**,初始化的**可以放到以 init 關鍵字作為字首的初始化塊
class
test
(arg : int)
}
次建構函式
每個次建構函式都需要委託給主建構函式
class
person
(name : string)
// 初始化**塊 是主建構函式的一部分,
//所有初始化塊中的**都會在次建構函式體之前執行
init
funprintname()
funprintarea()
}
測試:
fun
main
(args:array)"
)// var 預設實現了getter和 setter,直接呼叫/賦值
}
輸出:
init data,data is long
init data,data is integer
***************************
name is long
area is gx
***************************
name is integer
area is gd
***************************
get area : gd
kotlin中所有的類都有乙個共同的超類any,但是any不同於object,他只有equals()、hashcode() 與 tostring()
允許定義的類可以被繼承:open關鍵字
open
class
person
(name : string)
}class
student
(var grade:int,name :string,area:string)
:person
(name,area)
}
class student : person
constructor
(area:string)
:super
("zero"
,area)
}
簡單來說,:就是類似於extends;後面的括號在繼承是呼叫了父類的建構函式,當沒有主建構函式時,可以省略 Kotlin建構函式
當kotlin中的類需要建構函式時,可以有乙個主建構函式和多個次建構函式,可以沒有次建構函式。主建構函式在類名後。常規用法 class person name string 當主建構函式有註解或者可見性修飾符,需加 constructor 關鍵字。class personpublic public ...
kotlin類與物件初始
類就是某種事物,物件就是某種事物裡面的某個類,如人是乙個類,男人女人就是類裡面的物件 學校是乙個類,裡面的某個班級就是這個類裡面的某個物件 物件可以具有類的所有特徵,也可以有自己的特徵 比如,人可以吃飯,說話,唱歌,男人,女人都是同樣的,也都可以唱歌,吃飯,但是他們還可以談戀愛,吃零食,每個物件都有...
kotlin類與物件 擴充套件
1,擴充套件概念 oc中早期就有此功能 kotlin 能夠擴充套件乙個類的新功能而無需繼承該類或者使用像裝飾者這樣的設計模式。這通過叫做 擴充套件 的特殊宣告完成。例如,你可以為乙個你不能修改的 來自第三方庫中的類編寫乙個新的函式。這個新 增的函式就像那個原始類本來就有的函式一樣,可以用普通的方法呼...