1.单例对象
object Class07 {
object Myschool {
val name:String = "xxx学院"
def say(): Unit = {
println(s"say:${name}")
}
}
def main(args:Array[String]): Unit = {
Myschool.name
Myschool.say()
}
}
2.伴生类和伴生对象
object Class08 {
class Student(private val password:String) {
def validatePassword(input:String):Boolean = {
input == password
}
}
object Student {
def check(stu:Student, pwd:String):Boolean = {
stu.validatePassword(pwd)
}
}
def main(args:Array[String]): Unit = {
val stu1 = new Student("12345")
if(Student.check(stu1,"12345")) {
println("验证通过!")
}
}
}
3.应用-单例模式(一个类只能有一个对象)
object Class09 {
class Student(var name:String,var age:Int) {
}
object Student {
val ins = new Student("小花",18)
def getInstance:Student = ins
}
def main(args:Array[String]): Unit = {
val stu1 = Student.getInstance
val stu2 = Student.getInstance
println(stu1 == stu2)
}
}