選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

AspectInheritance3.java 599B

1234567891011121314151617181920212223242526272829303132
  1. public class AspectInheritance3 {
  2. public static void main(String[] args) {
  3. }
  4. }
  5. abstract aspect Base {
  6. abstract pointcut targets(int i, C c);
  7. after(int i, C c): targets(i, c) {
  8. //
  9. }
  10. }
  11. aspect GoodConcrete extends Base {
  12. pointcut targets(int i, C c);
  13. }
  14. // this aspect is illegal because concrete-concrete extension is illegal
  15. aspect DoubleConcrete extends GoodConcrete {
  16. }
  17. aspect OtherAspect {
  18. // can't reference an abstract pointcut using a static reference
  19. before(): Base.targets(int, C) { }
  20. }
  21. class C {
  22. public void m(int i) { }
  23. }
  24. class SubC extends C {}