「大數據」(九十二)Scala之輔助構造器

【導讀:數據是二十一世紀的石油,蘊含巨大價值,這是·情報通·大數據技術系列第[92]篇文章,歡迎閱讀和收藏】

1 基本概念

和 Java 和 C++ 一樣,在 Scala 中可以有任意多的構造器。如果不指定主構造函數,編譯器將創建一個主構造函數的構造函數 , 稱之為主構造器。除了主構造器之外,還可以創建任意多個輔助構造器。

2 術語解釋

構造器:負責類中成員變量的初始化,在創建對象時執行,當創建一個對象時,系統會為這個對象的實例進行默認的初始化。

「大數據」(九十二)Scala之輔助構造器

3 詳細說明

需要注意的是:

(1) 輔助構造函數名必須是 this ,而且必須直接或者間接的調用主構造函數實現參數的傳遞,當調用其他構造函數時,要將其放在構造函數中的第一行;

(2) 每一個輔助構造器都必須以一個對先前已定義的其他輔助輔助構造器或者主構造器的調用開始。

<code>class Person {
private var name = ""
private var age = 0
// 一個輔助構造
def this (name:String) {
this()// 調用主構造
this.name = name
}
// 另一個輔助
def this (name:String,age:Int){
// 調用另一個輔助構造
this(name)
this.age = age
}
}
// 調用:
object Demo extends App{
val p1 = new Person("Bob",21)
val p2 = new Person("Jack")
val p3 = new Person
}/<code>

請注意:輔助構造器一定會直接或間接調用主構造器;並且輔助構造器是以 this 開頭。


分享到:


相關文章: