样例类,样例对象,伴生类,伴生对象

时间:2023-01-06 16:00:36


样例类

使用case class 类名 定义

case class Person(var name:String, var age:Int)
可以直接使用 : Person(“张三”,20)
就直接能够得到对象了因为 使用case class 自动实现了 apply方法
使用class定义,该对象中的成员都是实例成员

样例对象

case object 样例对象名
它是单例的
它一样没有主构造器,也就是没办法进行数据的封装

单例对象

object 对象名{}

单例对象只有一个实例
单例对象{}内的内容统统是静态的
单例对象不可以new
单例对象没有主构造器(也就是在构造的时候不接受参数)

伴生对象

object 对象名 {object体}
object对象名要和class名一样
object和class要在同一个.scala文件内

满足上面两个要求,object和class就互为伴生关系叫做 object是class的伴生对象, class是object的伴生类
伴生类和伴生对象可以相互访问private属