如何直接从继承的java类中调用静态方法?

时间:2015-04-14 11:33:29

标签: scala

我有一个 java class PApplet要继承,它有一些静态方法(字段)(例如map

所以我使用像

这样的代码
trait SomeTrait extends PApplet 
 ...
object SomeObject extends SomeTrait 
 ...

我无法致电SomeObject.map,因为该方法不属于SomeTraitSomeObject

object SomeObject extends PApplet
由于同样的原因,仍然没有帮助。

object PApplet extends PApplet  

它有效,但没有任何意义。我无法扩展对象。

虽然有一些解决方案:

import PApplet._  

trait SomeTrait extends PApplet {
  def map = PApplet.map _
}  

第一个似乎很详细,我每次在代码中使用静态方法时都应该导入。

如果静态方法太多,第二个会遇到同样的问题。

是否有一些解决方案只是继承java类并直接使用静态方法?就像SomeObject.map

一样

1 个答案:

答案 0 :(得分:0)

Word静态意味着它特定于该类,而不是Trait。你不能继承它。

我认为你能做的最好的就是导入静态方法的/字段,如你所示。