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
------解决方案--------------------------------------------------------
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包。。。别无他法了。。。
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
如果不想改jar包中的源代码,那就只有想办法在classloader上下功夫了
http://www.ibm.com/developerworks/cn/java/j-lo-hotswapcls/
------解决方案--------------------------------------------------------
http://cglib.sourceforge.net/xref/samples/Trace