Задать вопрос
@daniil14056

Как модифицировать метод в java в RUNTIME?

Есть метод
class Foo{
            public void printName(){
                    System.out.println( "Foo");
                  // Сюда должна добавиться System.out.println( "Время вызова метода"
                //                 +System.currentTimeMillis() );
           }
        }

Как можно с помощью рефлексии базовыми средствами без декоратора и вызова через Прокси объект вызвать и получить
Foo f=new Foo();
     f.getName();           // "Foo"
                                  // "Время вызова метода" ....
// Всегда работаем только с базовым классом Foo не обертывая его.

Т.е. нужно модифицировать(или какие решения еще), метод и добавить в него еще одну инструкцию, что-то вроде создания обработчика как в паттерне Наблюдатель.
  • Вопрос задан
  • 132 просмотра
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 2
jamakasi666
@jamakasi666 Куратор тега Java
Просто IT'шник.
Можно но крайне геморойно и вероятнее всего овчинка выделки стоить не будет. Смотри Javassist.
Ответ написан
Комментировать
piatachki
@piatachki
Проксирование, но, как верно заметили, в академических целях это делать - затея так себе.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы