1

我有一个抽象类,它正在实现一些基本接口。(攻击方法不是从基本接口继承的

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

我做错了什么?有什么方法可以观察超类的方法吗?我想念什么吗?

4

0 回答 0