例子中intercept方法调用目标对象的方法的代码是proxy.invokeSuper(obj, args); 如果目标类中有多个方法,proxy.invokeSuper(obj, args); 调用的是哪个方法?是全部调用还是?或者说,如何调用其中某个特定的方法?
在使用中指定哪个就调用哪个,比如说例子中测试类调用了Train.move()方法,那么就是move()方法,如果Train类中还存在其他方法比如put()方法,那么则通过Train.put()调用。而proxy.invokeSuper(obj, args);中的args是指定在调用方法时可否带参数。如果proxy.invokeSuper(obj);的话。在调用方法时是不可以带参数的。