每個類都有主構(gòu)造器托猩,主構(gòu)造器的參數(shù)直接放在類名后面
class student(val name:String, var age:Int, gender:String, var id :Int = 18) {
// name has get func, age has get and set func, gender: private[this], even companion object cannot access, age may ignore when new
}
無參數(shù)也是主構(gòu)造器
class student {
}
或者
class student() {
}
classstudent {
vars="we"
defa() = {
}
s="hah"
println(s)
}
objectstudentextendsApp{
valt=newstudent
}
會println “hah" 所以整個class中都是構(gòu)造器都會執(zhí)行
class student {
var name = _
def this(name:String) = {
this()
this.name = name
}
}
輔助構(gòu)造器第一行要調(diào)主構(gòu)造器
scala中的object就是單例的结借,一個進程只有一個
伴生對象歌豺,在scala的類中弱判,與類名相同的對象绑青。類和伴生對象之間可以互相訪問私有方法和屬性盆顾,與類在同一個文件中怠褐。但是private[this]不能訪問
object分三種 singleton, app object您宪,companion惫搏。
trait 相當于 interface,java8中interface可以定義的時候?qū)崿F(xiàn) ctrl + i