0

私はJavaが初めてで、すでに何度か驚いていました。おそらくこれはJavaで可能ですか?

授業があります

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

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

クラス X の「method_a」が呼び出される前または後に、クラス Y のメソッド「前」および「後」を呼び出すように Java に指示できますか?

ありがとう

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 に答える