泛型同样也可以使用在匿名内部类中。
下面的例子是对 Java泛型(3):泛型方法 中例(2)的修改。
1 public interface Generator<T> { 2 T next(); 3 }
1 public class CountedObject { 2 3 private static int count = 0; 4 5 private final long id = ++count; 6 7 private CountedObject() { 8 } 9 10 public String toString() { 11 return "CountedObject " + id; 12 } 13 14 // 使用匿名内部类创建对象生成方法 15 public static Generator<CountedObject> generate() { 16 return new Generator<CountedObject>() { 17 @Override 18 public CountedObject next() { 19 return new CountedObject(); 20 } 21 }; 22 } 23 }
1 // 下面的例子是对Java泛型(3):泛型方法中例(2)的修改。 2 Generator<CountedObject> gen = CountedObject.generate(); 3 for (int i = 0; i < 3; i++) { 4 System.out.println(gen.next()); 5 // CountedObject 1 6 // CountedObject 2 7 // CountedObject 3 8 }