在没有源代码的情况下替换类中的方法

时间:2012-04-13 19:44:19

标签: java

我有一些没有源代码的类A,这个类使用一些类B#get(): int这两个方法,并从标准Ja​​va库中设置#set(int value): void

我可以替换这2个方法或所有类来更改此类A的某些功能吗?

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

正如kirk woll所说,这看起来不像java。