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

Scala this關(guān)鍵字

在scala中,this是一個(gè)關(guān)鍵字,用于引用當(dāng)前對(duì)象??梢允褂?code>this關(guān)鍵字調(diào)用實(shí)例變量,方法,構(gòu)造函數(shù)。

Scala this示例

在以下示例中,這用于調(diào)用實(shí)例變量和主要構(gòu)造方法。

class ThisExample{  
    var id:Int = 0  
    var name: String = ""  
    def this(id:Int, name:String){  
        this()  
        this.id = id  
        this.name = name  
    }  
    def show(){  
        println(id+" "+name)  
    }  
}  

object Demo{  
    def main(args:Array[String]){  
        var t = new ThisExample(1010,"Maxsu")  
        t.show()  
    }  
}

將上面代碼保存到源文件: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)造函數(shù)使用this關(guān)鍵字調(diào)用

在下面的例子中,使用this關(guān)鍵字來調(diào)用構(gòu)造函數(shù)。它演示了如何從其他構(gòu)造函數(shù)調(diào)用構(gòu)造函數(shù)。必須確保this必須放在構(gòu)造函數(shù)中的第一個(gè)語句,同時(shí)調(diào)用其他構(gòu)造函數(shù),否則編譯器會(huì)拋出錯(cuò)誤。

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

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

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

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

上一篇:Scala訪問修辭符下一篇:Scala finally塊