首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

java中实现方法调用捕获,该如何处理

2012-03-29 
java中实现方法调用捕获JAVA 代码ClassA ca new ClassA()boolean flag ca.something()//方法调用返

java中实现方法调用捕获
JAVA 代码

ClassA ca = new ClassA();
boolean flag = ca.something();//方法调用返回true/false

如何实现对这个方法调用的监控,在执行ca.something()时
可以执行自己的方法,直接返回true/false 
(这个方法是在jar包中,如果建议改源代码的话,请慎重回复)

[解决办法]
用注解,自己去查查资料
[解决办法]
http://www.ibm.com/developerworks/cn/java/j-lo-jse61/index.html
[解决办法]
boolean flag = ca.something();//方法调用返回true/false

如何实现对这个方法调用的监控,在执行ca.something()时
可以执行自己的方法,直接返回true/false 




---------------------
直接boolean flag = true/false不就结了嘛
[解决办法]
可以通过子类继承来重写方法,所以可以用匿名类

Java code
ClassA ca = new ClassA() { //匿名类    public boolean something() { //重写方法        return call_other_method(); //调用自己的方法    }}boolean flag = ca.something();//方法调用返回true/falsepublic boolean call_other_method() {    //do something     return true; //or return false}
[解决办法]
7楼的方法并没有改源码啊。。。重写并不是改源码。。。不改源码就可这么实现。。要么就改源码重新打jar包。。。别无他法了。。。
[解决办法]
探讨
引用:

7楼的方法并没有改源码啊。。。重写并不是改源码。。。不改源码就可这么实现。。要么就改源码重新打jar包。。。别无他法了。。。


那个方法调用也是在jar中的。 就是在捕获 jar中某个类调用jar的其它类的某个方法,捕获后可以调用自己的方法,实现返回自己的值或者实现监控等等

[解决办法]
如果不想改jar包中的源代码,那就只有想办法在classloader上下功夫了

http://www.ibm.com/developerworks/cn/java/j-lo-hotswapcls/
[解决办法]
http://cglib.sourceforge.net/xref/samples/Trace.html

热点排行