一、课程前导
DT大数据梦工厂的微信公众号是DT_Spark,每天都会有大数据实战视频发布,请您持续学习。
Scala 深入浅出实战经典(1-81讲)完整视频、PPT、代码下载:
百度云盘:http://pan.baidu.com/s/1c0noOt6
腾讯微云:http://url.cn/TnGbdC
360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2
Scala是最为重要的大数据语言,该视频每天还在持续跟新中,预计大约有140讲,请您根据上述视频彻底掌握Scala实战技术。
《第8讲:Scala主构造器、私有构造器、构造器重载实战详解》的视频地址:
酷6:http://v.ku6.com/show/eG0p0aWq8yQ1p9AdE-6wng...html
51cto:http://edu.51cto.com/lesson/id-66507.html
最后,王家林老师个人的微信是18610086859
二、课程内容
注:下面的笔记源于王家林老师的第8讲:Scala主构造器、私有构造器、构造器重载实战详解和Lazy的使用视频和《快速Scala》书。
第8讲:Scala主构造器、私有构造器、构造器重载实战详解
Scala中类的定义,代码 如下:
class Teacher{
var name : String = _
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)
}
}
在定义Scala类的时候可以传递参数
class Teacher(val name : String, val age:Int){
println( "This is primary constructor!")
var gender : String = _
println( gender)
//构造器重载
def this( name : String ,age : Int,gender : String){
this( name, age)
this. gender = gender
}
}
//带参数并且私有构造器的类
class Teacher private ( val name: String, val age :Int){
println( "This is primary constructor!")
var gender : String = _
println( gender)
//构造器重载
def this( name : String ,age : Int,gender : String){
this( name, age)
this. gender = gender
}
}
上面的类在定义时将构造器私有化了,那么在初始化对象时必须重载主构造器。在创建对象时,
def this( name : String ,age : Int,gender : String){
this( name, age)
this. gender = gender
}会默认执行,创建对象时传递参数的个数和数据类型要和该方法一致。