scala case class与class区别

Scala中存在case class,它其实就是一个普通的class。但是它又和普通的class略有区别,如下:

1、初始化的时候可以不用new,当然你也可以加上,普通类一定需要加new;

2、toString的实现更漂亮;

3、默认实现了equals 和hashCode;

4、默认是可以序列化的,也就是实现了Serializable ;

5、自动从scala.Product中继承一些函数;
6、case class构造函数的参数是public级别的,我们可以直接访问;

7、支持模式匹配;

其实感觉case class最重要的特性应该就是支持模式匹配。这也是我们定义case class的唯一理由

posted @ 2020-03-09 15:01  再见傅里叶  阅读(798)  评论(0编辑  收藏  举报