我有一些没有源代码的类A
,这个类使用一些类B
和#get(): int
这两个方法,并从标准Java库中设置#set(int value): void
!
我可以替换这2个方法或所有类来更改此类A
的某些功能吗?
例如,此类A
使用标准类B
来保存一些信息,但我希望将这个另一个容器用于某些操作。有可能吗?
答案 0 :(得分:2)
您可以使用一些字节码操作库,如java-bytecode-asm。然而,更简单的方法是使用aspectj并静态或动态编织类。 AspectJ甚至可以编织标准Java库(rt.jar
)。
答案 1 :(得分:1)
我不确定,但我相信你要做的是 扩展该类,然后覆盖该方法。
正如kirk woll所说,这看起来不像java。