import java.util.*; class Base { } public class PublicITDs { public static void main(String[] argv) { List l1 = new ArrayList(); Base b = new Base(); b.publicMethod1(l1); b.publicMethod2(l1,l1); Base b2 = new Base(l1); Base b3 = new Base(l1,l1); Map m1 = new HashMap(); Base b4 = new Base(l1,m1); } } aspect X { // methods public void Base.publicMethod1(List lr) {} public void Base.publicMethod2(List lr1,List lr2) {} // ctor public

Base.new(List

lr) { this(); } public

Base.new(List

lr1,List

lr2) { this(); } public Base.new(List

lp,Map m1) { this(); } // what use is this next one?? // public R Base.publicMethod3() { return null;} }