本文共 1581 字,大约阅读时间需要 5 分钟。
信息来源于 DT大数据梦工厂微信公众账号:DT_Spark DT大数据梦工厂群号:302306504王家林老师微信号:wangjialinandroid
内容:
1、Scala主构造器 2、构造器重载 3、私有构造器一、Scala主构造器&构造器重载
(1)无参的主构造器 //定义Teacher类时,有个默认构造器Teacher(),是其主构造器,其他所有构造器都是他的重载构造器,任何一个重载构造器必须直接或间接调用主构造器class Teacher { var name : Sting = _ private var age 27 private[this] val gender = "male" def this(name : String){ this this.name = name } def sayHello{ println(this.name +":" + this.age + ":" + this.gender) }}object OOPInScala{ def main(args: Array[String]{ Val p = new Teacher //使用主构造器 p.name="Spark" p.sayHello}
(2)有参的类构造器
class Teacher(val name : String,val age : Int){ println("This is the primary constructor!!!") var gender : String = _ println(gender) def this(name : String,age : Int,gender : String){ this(name,age) this.gender = gender }}def main(args: Array[String]{ Val p = new Teacher("Spark",5)//使用主构造器 println(":"+p.age) val p=new Teacher("Spark",5,"mail") //使用重载构造器 println(":"+p.age)}
二、私有构造器
//有时候,为了不想使用者使用默认构造器,我们可以将类的主构造器设为privateclass Teacher private(val name : String,val age : Int){ println("This is the primary constructor!!!") var gender : String =_ println(gender) def this(name : String,age : Int,gender : String){ this(name,age) this.gender = gender }}object OOPInScala{ def main(args: Array[String]{ val p = new Teacher("Spark",5)//这时候使用主构造器就会报错,类的主构造器为私有,不能被调用 println(":"+p.age) val p=new Teacher("Spark",5,"mail") //使用重载构造器 println(":"+p.age)}
Scala 深入浅出实战经典(1-64讲)完整视频、PPT、代码下载:
百度云盘:
腾讯微云:
360云盘: 访问密码 45e2
Scala视频及其更新和其他资料(Spark公开课、安卓基础、移动互联网)下载: 百度云盘:转载地址:http://oerub.baihongyu.com/