使用 Eclipse IDE 时,我无法从 Java 代码中引用 Scala 类。有问题的 Scala 类嵌套在 Scala 对象结构中。当尝试在 Java 代码中使用该类时,Eclipse 抱怨使用二进制名称。
下面是定义感兴趣的类 ( ) 的 Scala 代码示例Inner
:
package mypackage;
object Outer {
object Middle {
class Inner {
def msg() {
println("Running");
}
}
}
}
要在 Java 代码中使用该类Inner
,我使用以下代码:
mypackage.Outer$Middle$Inner inner = new mypackage.Outer$Middle$Inner();
inner.msg();
但是,Eclipse (Indigo) 编译器在第一行抱怨以下消息:
嵌套类型 mypackage.Outer$Middle$Inner 无法使用其二进制名称引用
有趣的是,上面的 Java 代码在与 NetBeans 6.9.1 一起使用时有效。
这是 Eclipse 编译器的问题吗?是否有任何标志允许使用二进制名称?或者,或者,这是 Scala 的问题还是我使用它的方式?