创建对象
package level02
object Class07 {
object Myschool {
val name:String = "xxx学校"
def say(): Unit = {
println(s"say:${name}")
}
}
def main(args:Array[String]): Unit = {
Myschool.say()
}
}
类(class)和对象(object)同名
package level02
object Class08 {
class Student(private val password:String) {
private 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("验证通过")
}
}
}
单例模式
一个类(class)只能有一个对象
package level02
object Class09 {
class Student private(var name:String,var age:Int) {
}
object Student {
private 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)
}
}