import java.util.*; public class CtorH { public static void main(String []argv) { Base baseInt = new Base(); Base baseString = new Base(); List intList = new ArrayList(); List strList = new ArrayList(); Base b1 = new Base(intList); Base b2 = new Base(strList); } } class Base { } aspect X { public Base.new(List lz) {this();} // OK, Z becomes N in first case, S in the second ;) }