Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaAspectJ进行计数_Java_Aspectj - Fatal编程技术网

使用JavaAspectJ进行计数

使用JavaAspectJ进行计数,java,aspectj,Java,Aspectj,我需要使用AspectJ为一个学校项目用Java实现一个计数器。否则,我会采取不同的做法。我需要该特性在每次调用函数时记录一个计数,然后在UI中检索该计数。我无法让java或aspect看到相同的变量。下面的代码在本地工作,但Java类无法看到count或bill,无论我把它们放在哪里。我怎样才能使类能够看到方面,或者反之亦然 public aspect calcBill { before(): execution(* *calc() ) { count++; bil

我需要使用AspectJ为一个学校项目用Java实现一个计数器。否则,我会采取不同的做法。我需要该特性在每次调用函数时记录一个计数,然后在UI中检索该计数。我无法让java或aspect看到相同的变量。下面的代码在本地工作,但Java类无法看到count或bill,无论我把它们放在哪里。我怎样才能使类能够看到方面,或者反之亦然

public aspect calcBill
{   before(): execution(* *calc() )
   {   count++;
       bill = count * .03;
   }
}

您是否被强制在aspect中维护计数和/或账单?将计数器作为您正在aspect的java类的参数,并添加一个方法来增加它(即
increaseCounter()
)。然后将JoinPoint参数添加到“before”方面。这样,您可以调用例如:
joinpoint.getThis().increaseCounter()