Injetar novos métodos e propriedades em classes durante o tempo de execução

Existe alguma maneira de podermos injetar novos métodos e propriedades em classes durante o tempo de execução.

http://nurkiewicz.blogspot.com/2009/09/injecting-methods-at-runtime-to-java.html estados podemos fazer isso usando Groovy.

É possível apenas usando Java?