在Scala中case class

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

 2、toString的实现更漂亮;

 3、默认实现了equals 和hashCode;

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

 5、自动从scala.Product中继承一些函数;

 6、case class构造函数的参数是public级别的,我们可以直接访问;

 7、支持模式匹配;
  其实感觉case class最重要的特性应该就是支持模式匹配。这也是我们定义case class的唯一理由,难怪Scala官方也说:It makes only sense to define case classes if pattern matching is used to decompose data structures.。