當kotlin中的類需要建構函式時,可以有乙個主建構函式和多個次建構函式,可以沒有次建構函式。主建構函式在類名後。
//常規用法
class
person
(name: string)
當主建構函式有註解或者可見性修飾符,需加 constructor 關鍵字。
class personpublic public @inject constructor
(name: string)
主建構函式不能包含任何的**。初始化的**可以放到以init關鍵字作為字首的初始化塊中:
1、當在主函式中宣告後可以當做全域性變數使用
注:
1、函式的宣告可以是val也可以是var
2、當不在主建構函式中宣告又想當全域性變數使用,可在類中宣告,主函式中宣告是簡化了其寫法。
class
test
(name: string)
2、當不在主函式中宣告時,只能在初始化塊以及屬性宣告中使用
1、次建構函式不能有宣告 val 或 var
2、如果類有乙個主建構函式(無論有無引數),每個次建構函式需要直接或間接委託給主建構函式,用this關鍵字
class person
constructor
(name: string):this()
constructor
(name: string, age: int) : this(name)
}
class customer()
constructor
(name: string, age: int) : this(name)
}
3、當沒有主構造引數時,建立次建構函式
正確使用:
class customer
constructor
(name: string, age: int) : this(name)
}
錯誤使用:
class customer
constructor
(name: string, age: int) : this(name)
}
兩種建構函式結果相同,呼叫時都可直接呼叫,或傳遞乙個引數或兩個引數進行呼叫
class test
fun test()
fun test2()
}
Kotlin建構函式及多個建構函式
kotlin建構函式 首先 強調一下 如果下面這樣行 是建構函式的話 class classname name string 那麼每乙個kotlin類只有乙個建構函式 沒有多個建構函式 其實由於 什麼的都是源於國外的 所以在翻譯過程中多說會有些出入 畢竟我們不是翻譯官 而大多數的翻譯官又不懂 實際上...
Kotlin學習4 3 建構函式
在kotlin中,建構函式用 constructor 關鍵字進行修飾,乙個類可以有乙個主建構函式和多個次建構函式。主構函式位於類頭跟在類名之後,如果主建構函式沒有任何註解或可見性修飾符 如public constructor 關鍵字可省略。主構函式定義的語法格式如下 class 類名 constru...
7 3 Kotlin建構函式
次建構函式 在kotlin中,建構函式 constructor 是乙個類似於方法的 塊。宣告建構函式的名稱與類的名稱相同,後跟括號 建構函式用於在建立物件時初始化變數。建構函式也叫構造器 在kotlin中建構函式分為主建構函式 primary constructor 和次建構函式 secondary...