public interface Generator<T> { // 使用泛型参数 T next(); }
public class BasicGenerator<T> implements Generator<T> { private Class<T> type; // 定义构造方法传递参数 public BasicGenerator(Class<T> type) { this.type = type; } @Override public T next() { try { // 使用反射来创建实例 return type.newInstance(); } catch (Exception e) { throw new RuntimeException(); } } // 设计这个方法的好处是什么? public static <T> Generator<T> create(Class<T> type) { return new BasicGenerator<T>(type); } }