1 /* 2 * package g5.m.def is the package to define (def) generic (g5) methods (m) 3 * 4 * We have 4 typical constructors: 5 * - standard: not generic, parameters is generic type parameter 6 * - generic: one single method type parameter 7 * - method parameter which is a parameterized type 8 * - mix of all previous ones 9 */ 10 package g5.c.def; 11 public class Single<T> { Single(T t)12 public Single(T t) {} Single(T t, U u)13 public <U> Single(T t, U u) {} Single(Single<T> gst)14 public Single(Single<T> gst) {} Single(U u, Single<T> gst)15 public <U> Single(U u, Single<T> gst) {} 16 } 17