@Dikiiforever

Можно ли добавить новый метод в класс во время исполнения?

Например есть простой пустой класс без свойств и методов. Возможно ли добавить туда методы и свойства, а потом вызывать их через рефлексию?

Update
И еще так мысли вслух. JRebel как то подменяет классы с измененными(добавленными удаленными) методами и свойствами прямо в рантайме. Каким образом?
  • Вопрос задан
  • 144 просмотра
Пригласить эксперта
Ответы на вопрос 2
jaxtr
@jaxtr
JavaEE/Spring-разработчик
Любые манипуляции (на уровне JVM) с классами в рантайме возможны при помощи библиотек, работающих с байткодом (тот же cglib или asm) и кастомным javaagent. Есть проекты вроде JRebel, DCEVM или Spring Loaded, которые позволяют менять логику в рантайме (опять же при помощи указанных уже инструментов).

Использовать такие инструменты в продакшне противопоказано, а в разработке они бесполезны при TDD.

UPD: ответ на вопрос: можно, но нужно ли?
Ответ написан
Комментировать
@aol-nnov
cglib, например.
но как говорит стековерфлоу, итс нот симпл, потому что класс уже загружен класслоадером
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы