結(jié)構(gòu)類型是指一組關于抽象方法、字段和類型的規(guī)格說明,你可以對任何具備append方法的類的實例調(diào)用appendLines方法,這種方式比定義特質(zhì)更加靈活,是通過反射進行調(diào)用的
class Structure {
def play() = println("play方法調(diào)用了")
}
object HelloStructure {
def main(args: Array[String]): Unit = {
type X = {def play(): Unit} //type關鍵字是把 = 后面的內(nèi)容命名為別名。
def init(res: X) = res.play //本地方法
init(new {
def play() = println("Played")
})
init(new {
def play() = println("Play再一次")
})
object A {
def play() {
println("A object play")
}
}
init(A)
val structure = new Structure
init(structure)
}
}
總結(jié)
結(jié)構(gòu)類型,簡單來說,就是只要是傳入的類型,符合之前定義的結(jié)構(gòu)的,都可以調(diào)用。
類型的結(jié)構(gòu)一樣,都是可以作為參數(shù),傳入的