scala.runtime中这些Java文件的用途是什么?

时间:2011-09-11 21:50:41

标签: java scala programming-languages reference runtime

scala.runtime目录中Scala的源代码树中有一些* .java文件。

这些文件似乎很简单,e。 G。 DoubleRef.java看起来像这样:

package scala.runtime;

public class DoubleRef implements java.io.Serializable {
    private static final long serialVersionUID = 8304402127373655534L;

    public double elem;
    public DoubleRef(double elem) { this.elem = elem; }
    public String toString() { return java.lang.Double.toString(elem); }
}

是否有任何理由不能在Scala中定义这些类?

1 个答案:

答案 0 :(得分:5)

也是一个猜测:没有Scala构造编译成公共字段 - Scala中的公共var编译为私有字段和公共访问器和mutator。我认为这些*Ref类被广泛使用,这可能是一种优化,以避免频繁的方法调用,并用直接字段访问替换它们。