Scala入門(二)
阿新 • • 發佈:2018-12-21
一.Scala類及構造器
每個類都有主構造器,主構造器引數直接放置在類名後,使用private可以禁用主構造器,若禁用主構造器,則必須使用輔助建構函式來建立物件
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
}
}
二.Scala物件
1.單例物件object
2.伴生物件
在 Scala 的類中,與類名相同的單例物件叫做伴生物件,如果我們在 object Dog 所在的檔案內定義一個 class Dog,此時:
a. object Dog 被稱為 class Dog 的伴生物件
b. class Dog 被稱為 object Dog 的伴生類
c.伴生 類和伴生物件之間可以相互訪問私有的方法和屬性(加上[this]條件以後就不能訪問了)
3.應用程式物件APP(不用寫main方法)
三.Scala繼承
1.Scala繼承方法與Java一樣,final修飾的filed和method的父類是無法繼承的
2.重寫方法(override和super)
重寫時使用override關鍵字,在子類覆蓋父類方法後還是要呼叫父類方法時,使用super關鍵字顯式的指定要呼叫的方法
3.型別轉換和檢查
四.Scala特質trait
在scala的trait中,不但可以包括抽象方法,還可以包含欄位和具體方法
有時在建立類的物件時,指定該物件混入某個 Trait,這樣,就只有這個物件混入該Trait 的方法,而類的其他物件則沒有
五.Scala模式匹配
1.匹配字串
2.匹配型別
3.匹配陣列,元組,集合
4.樣例類
case class是多例的,後面要跟構造引數
case object是單例的