7 3 Kotlin建構函式

2021-10-08 05:44:30 字數 2585 閱讀 5525

次建構函式

在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來初始化nameage屬性

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...