2011-03-02 53 views

回答

1

这个appendix定义了切入点表达式语法的语法。对于执行表达式的规则是以下内容:

execution(MethodPattern) 

其中

MethodPattern = 
    [ModifiersPattern] TypePattern 
     [TypePattern . ] IdPattern (TypePattern | ".." , ...) 
     [ throws ThrowsPattern ] 

这意味着,如果你有3个表达式(由空格分隔)之前“(”,则第一是改性剂,第二是类,第三个是方法名,但是如果你在“(”之前有两个表达式,那么第一个将是class,第二个将是方法名

+0

好了,现在已经越来越清晰了,但是在生产规则中,两个放置TypePattern的地方,使用一个或另一个的区别是什么?它是否有意义同时使用? – 2011-03-02 13:28:05

+0

我认为没有什么区别,但是同时使用两种类型的模式有点混乱。但可能在某些情况下,引用内部类型可能很有用。 – 2011-03-02 13:51:40

+0

我实际上认为它们有区别,它在我的使用案例中表现得非常不同,但我不明白差异背后的原理 – 2011-03-03 07:04:35