Реализация GroovyObject medhods по умолчанию

Я перехожу на Groovy с Java.

У меня есть неабстрактный класс Groovy, когда я компилирую его и просматриваю байт-код, я вижу, что мой класс реализует интерфейс GroovyObject, но в байт-коде моего класса нет реализации методов GroovyObject. Я думал, что байт-код, сгенерированный компилятором Groovy, должен быть допустимым байт-кодом для исполняемого файла Java (конечно, мы должны включить groovy-all-x.x.x.jar в путь к классам), но похоже, что это не так.

Я считаю, что с использованием groovy-all-x.x.x.jar во время выполнения происходит какое-то волшебство, но я не уверен, что именно там происходит.

Любая идея ?

groovy-lang.org/metaprogramming.html
Emmanuel Rosa 11.03.2018 18:08

когда класс Groovy компилируется в байт-код, я должен иметь возможность запускать этот класс с исполняемым файлом java (просто добавляя Groovy jar в путь к классам), верно? Но для java этот класс недействителен, поскольку он не реализует свой контракт. Я что-то пропустил ?

Suren Aznauryan 11.03.2018 18:21

Да, для вызова кода Groovy вам понадобится Groovy jar, исполняющая система Groovy; Это то, что обрабатывает отправку методов для кода Groovy. Книга «Groovy в действии» подробно объясняет, как взаимодействуют коды Java и Groovy.

Emmanuel Rosa 12.03.2018 03:14
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
3
173
0

Другие вопросы по теме