package com.leegh.oop
/**
* @author Guohui Li
*/
//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)
// }
//}
class Teacher(val name: String, val age: Int) {
println("This is the primary constructor!!!")
var gender: String = _ //占位符,无内容 为null
println(gender)
def this(name: String, age: Int, gender: String) {
this(name, age) //调用主构造器
this.gender = gender
}
}
class Outer(val name: String) { outer =>
class Inner(val name: String) {
def foo(b: Inner) = println("Outer:" + outer.name + " Inner:" + b.name)
}
}
//在Scala中,内部类是从属于对象本身,而Java中的内部类是从属于类的
object OOPInScala {
def main(args: Array[String]): Unit = {
val outer1 = new Outer("Spark")
val outer2 = new Outer("Hadoop")
val inner1 = new outer1.Inner("Scala")
val inner2 = new outer2.Inner("Java")
inner1.foo(inner1)
inner2.foo(inner2)
// val p = new Teacher("Spark",5)
// println(p.age)
// p.name = "Spark"
//p.gender = "female" //有问题
// p.sayHello()
val p = new Teacher("Spark", 5, "male")
println(":" + p.age)
}
}
本博客说明:
1.整理思路,提高自己。
2.受教于王家林老师,有所收获,故推荐。
3.博客注重实践,多余的文字就不多说了,都是做技术的。
4.信息来源于 DT大数据梦工厂微信公众账号:DT_Spark。
DT大数据梦工厂的微信公众号是DT_Spark,每天都会有大数据实战视频发布,请您持续学习。
Scala 深入浅出实战经典(1-68讲)完整视频、PPT、代码下载:
百度云盘:http://pan.baidu.com/s/1o6HwSPG
腾讯微云:http://url.cn/TnGbdC
360云盘:http://yunpan.cn/cQ4c2UALDjSKy 访问密码 45e2