日期:2014-05-20  浏览次数:20663 次

关于类似于 类.class 和 类.this 作为参数的问题
我初学SSH,看到拦截器的部分,发现源码里有这样一段:
[注:这是纯java,与web无关]
代码如下:

        if (interceptors.hasNext()) {  
            final InterceptorMapping interceptor = (InterceptorMapping) interceptors.next();  
            UtilTimerStack.profile("interceptor: "+interceptor.getName(),   
                    new UtilTimerStack.ProfilingBlock<String>() {  
                        public String doProfiling() throws Exception {  
                         // 将ActionInvocation作为参数,调用interceptor中的intercept方法执行  
                            resultCode = interceptor.getInterceptor().intercept(DefaultActionInvocation.this); //问题在这!!!
                            return null;  
                        }  
            });  
        } else {  
            resultCode = invokeActionOnly();  
        }  


我特别注意到:
    这段代码里有一句
resultCode = interceptor.getInterceptor().intercept(DefaultActionInvocation.this); 

于是,开始提问:

问题1:resultCode = interceptor.getInterceptor().intercept(DefaultActionInvocation.this); 中,
DefaultActionInvocation.this是什么意思???有没有作用,我没明白。

或者换句话说,
对一个普通的public class A(),
在class B中来一个
class B{ 
        function(){
              method(A.this);
        }
}
这有什么作用或说意思 ?这指的是什么 ?

----------------------------分割线-----------