2015-04-14 4 views
1

У меня есть класс JavaPApplet наследоваться и имеет некоторые статические методы (поля) (например. map)Как вызвать статический метод непосредственно из унаследованного класса Java?

поэтому я использую код как

trait SomeTrait extends PApplet 
... 
object SomeObject extends SomeTrait 
... 

Я не могу назвать SomeObject.map, поскольку метод не относится к SomeTrait или SomeObject.

object SomeObject extends PApplet 

по-прежнему нет помощи по той же причине.

object PApplet extends PApplet 

Это работает, но не имеет смысла. Я не могу расширять объект.

Есть некоторые решения, хотя:

import PApplet._ 

или

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

Первый кажется многословным, что я должен импортировать каждый раз, когда я использую статический метод в своем коде.

Вторая встречает ту же проблему, если слишком много статических методов.

Есть ли какое-то решение только наследовать класс java и использовать статический метод напрямую? точно так же, как SomeObject.map

ответ

0

Слово статическое означает, что оно относится к этому классу, а не к значению. Вы не можете наследовать его.

Я думаю, что лучшее, что вы можете сделать, это импортировать статические методы/поля, как вы показали.

Смежные вопросы