2011-06-09 30 views
0

实现Scala特性时,必须实现特质的方法并简单地调用Foo$class.class上相应的静态方法。但我不确定如何处理特质中定义的私人领域。在Java中实现Scala特性时处理私有字段

也就是说,如果在特征中有一个字段_something,如果我没有实现_something_$eq()_something(),编译器会对我大喊。我的假设是我必须在我的实现类中创建一个_something字段。

我只想确认这是处理此问题的正确方法。

回答

2

是,在类中创建私有字段

注意,你还需要调用美孚$类模块的init方法

如果你想看到正是你需要做的,只是创建一个扩展Foo的Scala类,编译它,然后使用反编译器(jd-gui)来查看它是如何生成的。

+0

谢谢。并感谢延长课堂诀窍。我最初看到jd-gui中的scala代码,但没有定制类。 – pondermatic 2011-06-09 16:09:39