case class 5个特点:(1)默认实现了apply方法,所以实例化时不用new关键词 (2)定义类时的属性默认val修饰,实例化后可以通过.属性进行访问 (3)重写过toString方法,更直观 (4)重写equals方法,是先比较类型,再比较实例属性 (5)提供copy方法复制实例,并且copy可以覆写属性值
sealed case class主要为了解决在模式匹配时,类型写的不全的情况,用sealed修饰抽象类型,那么继承了这个类型的子类在进行模式匹配时,如果不全,会抛出一个警告,另外使用这个关键词修饰的类,只能被当前文件使用,所以可以在当前文件下找到所有需要匹配的类型