Because JBoss AOP is fully dynamic when it comes to weaving. It follows a two step process
1) When the class is woven (either at compile time or when the class is first woven) we put in the hooks for interception to happen. These hooks are the same for a member matching the pointcut expression of a <bind> element or a <prepare> element.
2) When you create an instance of the class (at runtime) the advices are created according to the sub-elements of <bind> elements for its member hooks.