基本含义
package chapter8
class ScalaPerson {
var name:String = _
}
object ScalaPerson {
var sex:Boolean = true
def sayHi():Unit = {
println("object scala sayHi")
}
}
package chapter8
object AccompanyObject {
def main(args: Array[String]): Unit = {
println(ScalaPerson.sex)
ScalaPerson.sayHi()
val p = new ScalaPerson
p.name = "abc"
println(p.name)
}
}
伴生对象总结
伴生对象实践
package game
class Child02 (cName:String) {
var name = cName
}
object Child02 {
var totalChildNum = 0
def joinGames(child:Child02):Unit = {
println(child.name + " 加入游戏")
totalChildNum +=1
println("此时共有 "+totalChildNum +" 小孩子")
}
def showNum():Unit = {
println("当前共有 "+totalChildNum +" 小孩子")
}
}
伴生对象-apply
package test1
class Pig(pName:String) {
var name = pName
}
object Pig {
def apply(pName: String): Pig = new Pig(pName)
def apply(): Pig = new Pig("匿名猪猪")
}
package test1
object ApplyDemo {
def main(args: Array[String]): Unit = {
val pig = new Pig("小花花")
val pig2 = Pig("小黑黑")
val pig3 = Pig()
println("pig2.name:"+pig2.name)
println("pig3.name:"+pig3.name)
}
}