在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Scala/ Scala構(gòu)造函數(shù)
Scala方法重載
Scala模式匹配
Scala throw關(guān)鍵字
Scala提取器
Scala概述
Scala throws關(guān)鍵字
Scala finally塊
Scala正則表達(dá)式
Scala循環(huán)語(yǔ)句
Scala多線(xiàn)程
Scala函數(shù)
Scala final關(guān)鍵字
Scala方法覆蓋
Scala字符串
Scala線(xiàn)程實(shí)現(xiàn)
Scala異常處理
Scala類(lèi)和對(duì)象
Scala數(shù)據(jù)類(lèi)型
Scala單例和伴生對(duì)象
Scala構(gòu)造函數(shù)
Scala教程
Scala Case類(lèi)和對(duì)象
Scala繼承
Scala開(kāi)發(fā)環(huán)境安裝配置
Scala運(yùn)算符
Scala文件I/O
Scala線(xiàn)程方法
Scala變量
Scala try-catch語(yǔ)句
Scala基礎(chǔ)語(yǔ)法
Scala集合
Scala數(shù)組
Scala閉包
Scala訪(fǎng)問(wèn)修辭符
Scala this關(guān)鍵字

Scala構(gòu)造函數(shù)

在scala中,構(gòu)造函數(shù)不是特殊的方法。Scala提供主要和任意數(shù)量的輔助構(gòu)造函數(shù)。我們將在下面的例子中逐一個(gè)詳細(xì)解釋。

Scala默認(rèn)主構(gòu)造函數(shù)

在scala中,如果不指定主構(gòu)造函數(shù),編譯器將創(chuàng)建一個(gè)主構(gòu)造函數(shù)的構(gòu)造函數(shù)。 所有類(lèi)的主體的聲明都被視為構(gòu)造函數(shù)的一部分。它也被稱(chēng)為默認(rèn)構(gòu)造函數(shù)。

Scala默認(rèn)主構(gòu)造函數(shù)示例

class Student{  
    println("Hello from default constructor");  
}

Scala主要構(gòu)造函數(shù)

Scala提供了一個(gè)類(lèi)的主構(gòu)造函數(shù)的概念。如果代碼只有一個(gè)構(gòu)造函數(shù),則可以不需要定義明確的構(gòu)造函數(shù)。它有助于優(yōu)化代碼,可以創(chuàng)建具有零個(gè)或多個(gè)參數(shù)的主構(gòu)造函數(shù)。

Scala主構(gòu)造函數(shù)示例

class Student(id:Int, name:String){  
    def showDetails(){  
        println(id+" "+name);  
    }  
}  

object Demo{  
    def main(args:Array[String]){  
        var s = new Student(1010,"Maxsu");  
        s.showDetails()  
    }  
}

將上面代碼保存到源文件:Demo.scala中,使用以下命令編譯并執(zhí)行代碼 -

D:\software\scala-2.12.3\bin>scalac Demo.scala
D:\software\scala-2.12.3\bin>scala Demo
1010 Maxsu

Scala次要(輔助)構(gòu)造器

可以在類(lèi)中創(chuàng)建任意數(shù)量的輔助構(gòu)造函數(shù),必須要從輔助構(gòu)造函數(shù)內(nèi)部調(diào)用主構(gòu)造函數(shù)。this關(guān)鍵字用于從其他構(gòu)造函數(shù)調(diào)用構(gòu)造函數(shù)。當(dāng)調(diào)用其他構(gòu)造函數(shù)時(shí),要將其放在構(gòu)造函數(shù)中的第一行。

Scala二次構(gòu)造函數(shù)示例

class Student(id:Int, name:String){  
    var age:Int = 0  
    def showDetails(){  
        println(id+" "+name+" "+age)  
    }  
    def this(id:Int, name:String,age:Int){  
        this(id,name)       // Calling primary constructor, and it is first line  
        this.age = age  
    }  
}  

object Demo{  
    def main(args:Array[String]){  
        var s = new Student(1010,"Maxsu", 25);  
        s.showDetails()  
    }  
}

將上面代碼保存到源文件:Demo.scala中,使用以下命令編譯并執(zhí)行代碼 -

D:\software\scala-2.12.3\bin>scalac Demo.scala
D:\software\scala-2.12.3\bin>scala Demo
1010 Maxsu 25

Scala示例:構(gòu)造器重載

在scala中,可以重載構(gòu)造函數(shù)。下面我們來(lái)看一個(gè)例子。

class Student(id:Int){  
    def this(id:Int, name:String)={  
        this(id)  
        println(id+" "+name)  
    }  
    println(id)  
}  

object Demo{  
    def main(args:Array[String]){  
        new Student(101)  
        new Student(100,"Minsu")  
    }  
}

將上面代碼保存到源文件:Demo.scala中,使用以下命令編譯并執(zhí)行代碼 -

D:\software\scala-2.12.3\bin>scalac Demo.scala
D:\software\scala-2.12.3\bin>scala Demo
101
100
100 Minsu

上一篇:Scala教程下一篇:Scala字符串