Scala 使用构造函数和伴随对象扩展类
我想扩展下面的课程和同伴Scala 使用构造函数和伴随对象扩展类,scala,Scala,我想扩展下面的课程和同伴 object MyData { // code inside } class MyData(val data: Struct) extends AnyVal { // code inside } 但是在执行此操作时,从值获取非法继承错误 class MyDataExtended(override val data: Struct) extends MyData(data) 摘自: 在Scala 2.10之前,AnyVal是一种封闭的特性。从Scala 2.10开始,
object MyData { // code inside }
class MyData(val data: Struct) extends AnyVal { // code inside }
但是在执行此操作时,从值获取非法继承
错误
class MyDataExtended(override val data: Struct) extends MyData(data)
摘自:
在Scala 2.10之前,AnyVal
是一种封闭的特性。从Scala 2.10开始,
但是,可以定义名为“用户定义值类”的AnyVal
的子类
这是由编译器专门处理的。正确定义的用户值类提供了一种
通过避免在运行时分配对象以及
用静态方法调用替换虚拟方法调用
局限性
值类目前有几个限制,部分原因是JVM本身不支持值类的概念。有关值类的实现及其限制的详细信息,请参见SIP-15
限制概述