scala-abstractseq如何减少字节码大小

f4t66c6m  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(249)

我在看scaladocs的时候 AbstractSeq 班级。他们把它描述为 Explicit instantiation of the Seq trait to reduce class file size in subclasses. 如何减少子类的文件大小?子类会得到所有的方法,对吗?有人能解释一下这是怎么回事吗

5w9g7ksd

5w9g7ksd1#

当您直接扩展trait时,类会为trait中实现的每个方法获取一个方法。
假设你有 N 在中实现的方法 Seq (1)特点 Seq 自身延伸)。如果你有 M 类扩展 Seq ,他们需要 M*N 方法。当它们延伸时 AbstractSeq , AbstractSeqN 方法和所有其他类继承它们。所以你用一节额外的课来换取 (M-1)*N 更少的方法。

相关问题