import org.aspectj.lang.annotation.*; public class Basic2b { public static void main(String []argv) { Basic2b b = new Basic2b(); if (!(b instanceof X.I)) throw new RuntimeException("Basic2b should implement I"); } } @Aspect class X { interface I { } class IIimpl implements I { public void m2() { } } @DeclareParents("Basic2b",defaultimpl="IImpl") private I simplefield;; @Before("execution(* *(..))") public void advice1() {} }