拦截方法调用

2022-09-02 05:31:00

我有此代码

Foo foo = new Foo();
foo.callTheMethod();

有没有办法在不子类化或修改类的情况下拦截调用,并且没有工厂?Foo.callTheMethod()FooFoo

编辑:对不起忘了提到这是在Android平台上。


答案 1

使用 Java 的代理类。它创建接口的动态实现并拦截方法,所有这些都是反射式的。

这是一个教程


答案 2

你有没有考虑过面向方面的编程,也许还有AspectJ?请参阅此处此处以获取AspectJ / Android信息。


推荐