Обработка приватных полей в чертах Scala при их реализации в Java - PullRequest
0 голосов
/ 09 июня 2011

При реализации признака Scala необходимо реализовать методы признака и просто вызвать соответствующий статический метод для Foo$class.class.Однако я не уверен, как обращаться с закрытыми полями, которые определены в признаке.

То есть, если в признаке есть поле _something, если я не реализую _something_$eq() и_something(), компилятор кричит на меня.Я предполагаю, что мне нужно создать поле _something в моем классе реализации.

Я просто хочу подтвердить, что это правильный способ решения этой проблемы.

1 Ответ

2 голосов
/ 09 июня 2011

Да, создайте приватное поле в классе

Обратите внимание, что вам также необходимо вызвать метод init модуля класса Foo $

Если вы хотите точно увидеть, что вам нужно сделатьпросто создайте класс Scala, расширяющий Foo, скомпилируйте его, а затем используйте декомпилятор (jd-gui), чтобы увидеть, как он был сгенерирован.

...