我有一个抽象类,它正在实现一些基本接口。(攻击方法不是从基本接口继承的)
public abstract class AbstractClass implements BasicInterface {
public void attack(String attackerId, float attackerAttackSpeed) {
... // method body
}
}
我还有一个扩展抽象类的类。
@Service
public class A extends AbstractClass {
// other methods...
}
现在我正在尝试观察方法攻击(字符串攻击者Id,浮动攻击者速度攻击)
@Aspect
@Component
public class AspectJ{
@After(value = "execution(* package.A.attack(attackerId, ..)) && args(attackerId)")
public void broadcastAttackMessage(String attackerId) {
... //method body
}
}
但不幸的是,Intellij 告诉我,此建议不建议任何方法。同样在启动应用程序期间,我收到堆栈跟踪错误:
Caused by: java.lang.IllegalArgumentException: error at ::0 name binding only allowed in target, this, and args pcds
我做错了什么?有什么方法可以观察超类的方法吗?我想念什么吗?