0

我是 Java 新手,已经有些时候感到惊讶了。所以也许这在java中是可能的?

我有课

class X {
      string method_a(int x) {
         String str="abc";
         return str;
      }
}

class Y {
      void before(){};
      void after(){};
}

我可以告诉Java在调用类X的“method_a”之前或之后调用类Y的方法“之前”和“之后”吗?

谢谢

4

3 回答 3

1

听起来您想要Aspect-Oriented Programming。这不是作为“普通”Java 的一部分而存在的东西,但是周围有各种技术可以以各种方式启用它。您可能想从AspectJ开始。

于 2012-05-24T08:45:35.337 回答
0

语言本身不支持您所要求的,但可以由诸如Spring 的 Aspect Orriented Programming model等框架提供。

于 2012-05-24T08:47:40.447 回答
0

是的你可以。它被称为“方面”(搜索 AspectJ)。我为您找到了这个 Hello World 示例:http ://www.java2s.com/Code/Java/Spring/AspectHelloWorldExample.htm

不过我必须警告你,方面对于日志记录和性能跟踪非常有效,但如果使用不当可能会成为一场噩梦。正如他们所说:“权力越大,责任越大”。

于 2012-05-24T08:50:16.937 回答