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 关键字。
浙公网安备 33010602011771号