定義關(guān)鍵字object
object A{
lateinit var name:String
fun method1(){
}
}
訪問(wèn):A.name
A.method1()
內(nèi)部類(lèi)
*非靜態(tài)內(nèi)部類(lèi):inner class Inner 調(diào)用:val inner = Outer().Inner()
*靜態(tài)內(nèi)部類(lèi):class Outer{class StaticInner//靜態(tài)內(nèi)部類(lèi)}val staticInner = Outer.StaticInner()
注意:這塊跟JAVA是相反的
匿名內(nèi)部類(lèi)
數(shù)據(jù)類(lèi)
定義: data class A(var name:String){
var age:Int
}
解釋?zhuān)篸ata關(guān)鍵字定義
注意:
*定義不可變的字段
*定義屬性盡量是基本數(shù)據(jù)類(lèi)型或者是數(shù)據(jù)類(lèi)
component
數(shù)據(jù)類(lèi)component.png
數(shù)據(jù)類(lèi)的解構(gòu)
數(shù)據(jù)類(lèi)的解構(gòu).png
java bean vs kotlin data class
javaBeanVsKotlinDataClass.png