开发者社区 问答 正文

case class和class的区别是什么?

case class和class的区别是什么?

展开
收起
芯在这 2021-12-11 22:50:45 568 分享 版权
1 条回答
写回答
取消 提交回答
  • case class:

    是一个样本类,样本类是一种不可变切可分解类的语法糖,也就是说在构建的时候会自动生成一些语法糖,具有以下几个特点:

    1、自动添加与类名一致的构造函数(也就是半生对象,通过apply方法实现),也就是说在构造对象的时候不需要使用new关键字

    2、样本类中的参数默认是val关键字,不可以修改

    3、默认实现了toString,equals,hashcode,copy方法

    4、样本类可以通过==来比较两个对象,不在构造方法内地二属性不会用在比较上

    class:

    class是一个类

    class在构造对象的时候需要使用new关键字才可以。

    2021-12-11 22:51:05
    赞同 展开评论
问答地址: