替代方法没有源代码

问题描述:

我有一些类A没有源代码和这个类使用了一些类B 2层的方法,如#get(): int和标准的Java库设置#set(int value): void替代方法没有源代码

我可以替代这2种方法或所有类改变A这个类的一些功能?

例如,此类A使用标准类B来保存一些信息,但我希望使用此另一个容器进行某些操作。有可能吗?

+3

这些方法的签名不是Java。 – 2012-04-13 19:45:46

你可以使用一些字节码操作库,例如。然而一个更简单的方法是使用和编织类,无论是静态或动态。 AspectJ的甚至可以编织标准的Java库(rt.jar)。

+0

感谢您的信息!也许你有一些例子如何使用'AspectJ'来替换方法? – dzav 2012-04-13 21:03:51

+0

@vanveber:没有例子,但很少的提示:搜索*围绕建议* - 不调用包装的方法。 – 2012-04-13 21:08:14

我不确定,但我相信你想要做的是 扩展类,然后重写该方法。

正如柯克沃尔说,这看起来并不像Java。