Fai*_*lde 3 java scala bytecode
我正在浏览 scaladocs 并遇到了AbstractSeqclass。他们将其描述为
Explicit instantiation of the Seq trait to reduce class file size in subclasses.
这如何减少子类的文件大小?子类无论如何都会获得所有方法,对吗?有人可以解释这是如何工作的吗
当您直接扩展特征时,该类会为每个方法获取一个方法,并在特征中实现。
因此,假设您有N实现的方法Seq(并且特征Seq本身扩展了)。如果您有M扩展的类Seq,它们需要M*N方法。当它们扩展时AbstractSeq,方法和所有其他类AbstractSeq都会继承它们。N因此,您需要用 1 个额外的类来换取(M-1)*N更少的方法。
| 归档时间: |
|
| 查看次数: |
69 次 |
| 最近记录: |