Az AspectJ programozási nyelv a Java programozási nyelv egy aspektus orientált kiterjesztése, így ugyanazok a szabályok érvényesek az absztrakt adattípusokra.