创建对象的方法:
1.class-> new
2.直接通过object来定义(单例对象,只有一个,孤单)
3.使用了数据存储,提供一些工具方法,公用方法。。。。。。
object Class05 {
object Myschool {
val name :String = "xxx学校"
def say():Unit = {
println(s"say:${name}")
}
}
def main (array: Array[String]): Unit = {
}
// 对象名.属性名
Myschool,name
// 对象名,方法名()
Myschool.say()
在伴生对象的内部,可以访问类的private成员
伴生类,伴生对象的特点:
可以互相访问对方的私有的(private)成员
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]): util = {
val stu1 = new Student("12345")
if(Student.check(stu1,"12345")){
println("验证通过!")
}
}
单利模式:一个类(class)只能有一个对象!
new会自动调用__构造__函数?
步骤: 1.不让它new,把构造函数设置为私有的
2.在伴生对象中调用new来生成一个对象:提供换一个方法来获取这个对象