2013-12-20 82 views

回答

4

如果你能做到这一点,你将如何使用它?

斯卡拉特征被编译成一个接口和一个相应的类。你能通过进入接口的方法(因为接口是一种类):

scala> trait Foo 
scala> val c: Class = classOf[Foo] 
a: Class[Foo] = interface Foo 

scala> def someMethod(c: Class[_]) = c.getName 
scala> someMethod(a) 
res1: String = Foo 

类部分被编译成一个隐藏Foo$class类文件。但是,您可以将一个类别实施为您的特性转换为方法。由于划分为底层Java类和接口,我不知道直接传递Trait的方法。

又见this answerthis one

+0

感谢您的答复。 – Mahendra