Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Обработка закрытых полей в трейтах Scala при их реализации в Java

Автор вопроса: pondermaticОтветов: 1

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

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

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

javascalainteroptraits

Ответы

Ответ 1 · рейтинг 2 · IttayD

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

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы