• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
CUST小峰峰
博客园    首页    新随笔    联系   管理    订阅  订阅

Scala的样例类

/**

  • 样例类Case Class
  • Case Class一般被翻译成样例类,它是一种特殊的类,能够被优化以用于模式匹配。
  • 当一个类被声名为case class的时候,scala会帮助我们做下面几件事情:
  • 1、构造器中的参数如果不被声明为var的话,它默认的是val类型的,但一般不推荐将构造器中的参数声明为var。
  • 2、自动创建伴生对象,同时在里面给我们实现子apply方法,使我们在使用的时候可以不直接使用new创建对象。
  • 3、伴生对象中同样会帮我们实现unapply方法,从而可以将case class应用于模式匹配。
  • 4、实现自己的toString、hashCode、copy、equals方法
  • 除此之此,case class与其它普通的scala类没有区别
    */

//定义样例类,温度传感器
case class SensorReading(id:String,timestamp: Long,temperature:Double)
那么什么是伴生对象呢?

scala里面没有 static 关键字。那么如果想实现static的效果要怎么做呢? ==》 可以使用伴生对象
在同一个scala文件中定义一个类,同时定义一个同名的object,那么它们就是伴生类和伴生对象的关系,可以互相直接访问私有的field。
伴生对象通常会使用apply函数定义伴生类的构造方法。 这样在创建伴生类的对象时就可以省略 new 关键字。

参考文档:> https://www.baidu.com/link?url=P47YwXSVY8SoHah_FRp9e1NycybEUJU9WjKL6kInhWmkNJV1RWX1eeecvGuCDZHITlSmy8IBgRS6JM86RdBaOK&wd=&eqid=9d170fb200c899da0000000260eba2bf

posted @ 2021-07-12 10:22  CUST小峰峰  阅读(221)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3