Scala:它是一个类实例吗?
发布时间:2020-12-16 18:05:29 所属栏目:安全 来源:网络整理
导读:如果我运行此代码(见下文),我将CaseClass作为打印消息. case class CaseClass(var name: String)object Main extends App { val obj = CaseClass println(obj)} 但是这是什么意思?我的意思是CaseClass类似于Java的CaseClass.class? 解决方法 定义case类时,
如果我运行此代码(见下文),我将CaseClass作为打印消息.
case class CaseClass(var name: String) object Main extends App { val obj = CaseClass println(obj) } 但是这是什么意思?我的意思是CaseClass类似于Java的CaseClass.class? 解决方法
定义case类时,它实际上定义了一个类和一个对象,它们都具有相同的名称.当你说val obj = CaseClass时,你实际上是将对象,一个单例对象分配给obj.
它有点像: class NonCaseClass(var name: String) { // the actual class override def toString = "the class version" } object NonCaseClass { // singleton companion object override def toString = "the object version" } val obj = NonCaseClass // this assigns the companion object to a variable println(obj) // the object version 这与实例化CaseClass类的实例不同: val obj2 = new NonCaseClass("x") println(obj2) // the class version (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |