2010-05-08 21 views
8

假设我有一个库下面的Java文件:Static Nested Class和可视性问题使用Scala/Java的互操作

package test; 
public abstract class AbstractFoo { 
    protected static class FooHelper { 
     public FooHelper() {} 
    } 
} 

我想从斯卡拉扩展:

package test2 
import test.AbstractFoo 
class Foo extends AbstractFoo { 
    new AbstractFoo.FooHelper() 
} 

我得到一个错误,“在对象test.AbstractFoo中无法访问类FooHelper”。 (我每晚使用Scala 2.8)。下面的Java编译正确:如果它放在test

package test2; 
import test.AbstractFoo; 
public class Foo2 extends AbstractFoo { 
    { new FooHelper(); } 
} 

斯卡拉版本也编译。有没有另一种方法让它编译?

回答