次建構函式
在kotlin中,建構函式(constructor)是乙個類似於方法的**塊。 宣告建構函式的名稱與類的名稱相同,後跟括號()。 建構函式用於在建立物件時初始化變數。建構函式也叫構造器
在kotlin中建構函式分為主建構函式(primary constructor)和次建構函式(secondary constructory)
主建構函式定義
主建構函式用於初始化類,它在類標題中宣告,定義如下:
class person constructor
(var name: string,
var age: int)
其中constructor可以省略
class
person
(var name: string,
var age: int)
在這裡constructor(var name: string, var age: int)
或(var name: string, var age: int)
宣告為類頭的一部分,這是persion類的主構造器,它初始化persion類的 name與age屬性。
初始化建構函式例項
下面我們建立乙個例項,用"alfres"與28來初始化name
與age
屬性
class
person
(var name: string,
var age: int)
funmain
(args:array
), age = $")
}
結果:
name = alfres, age =
28
主建構函式的預設值
我們也可以像在 kotlin 構造器中指定預設值。比如我們指定name
為"張三",age
為50。
class
person
(var name: string =
"張三"
,var age: int =50)
funmain
(args: array
), age = $")
person =
person
("alfres",28
)println
("name = $
, age = $")
}
結果:
name = 張三, age =
50name = alfres, age =
28
構造器中的初始化程式塊
主建構函式不包含任何**,初始化程式塊用於初始化**。 該塊是以init
關鍵字為字首,init
中可以有額外的初始化邏輯。
class
person
(var name: string =
"張三"
,var age: int =50)
else}}
funmain
(args: array
)
結果:
name = 張三 age =
50 你是成年人
name = alfres age =
8 你是未成年
注意
:
class
person
(var name: string,
var age: int)
constructor
(name: string, age: int, ***: string)
:this
(name, age)
constructor
(name: string, age: int, ***: string, weight: int)
:this
(name, age, ***)
}fun
main
(args: array
), age = $
, *** = $")
person1 =
person
("張三",23
,"男"
,160
)println
("name = $
, age = $
, *** = $
, weight = $")
}
結果:
name = 張三, age =
23, *** = 男
name = 張三, age =
23, *** = 男, weight =
160
Kotlin建構函式
當kotlin中的類需要建構函式時,可以有乙個主建構函式和多個次建構函式,可以沒有次建構函式。主建構函式在類名後。常規用法 class person name string 當主建構函式有註解或者可見性修飾符,需加 constructor 關鍵字。class personpublic public ...
Kotlin建構函式及多個建構函式
kotlin建構函式 首先 強調一下 如果下面這樣行 是建構函式的話 class classname name string 那麼每乙個kotlin類只有乙個建構函式 沒有多個建構函式 其實由於 什麼的都是源於國外的 所以在翻譯過程中多說會有些出入 畢竟我們不是翻譯官 而大多數的翻譯官又不懂 實際上...
Kotlin學習4 3 建構函式
在kotlin中,建構函式用 constructor 關鍵字進行修飾,乙個類可以有乙個主建構函式和多個次建構函式。主構函式位於類頭跟在類名之後,如果主建構函式沒有任何註解或可見性修飾符 如public constructor 關鍵字可省略。主構函式定義的語法格式如下 class 類名 constru...