一、前言
二、介绍
- 生成器(Generator)是一种专门用于创建对象的类
- 它实际上是工厂方法模式的一种应用,也是泛型应用于接口的一种
- 使用生成器创建新对象时,不需要任何参数就可以创建对象—>这也是与工厂方法模式的区别,工厂方法一般需要参数
- 一般,生成器只定义一个方法,该方法专门用于产生新对象
三、Generator 接口
Java 标准库中是没有包含 Generator 接口的,因此生成器是需要自己定义的。
[Generator]
/ - 生成器接口 - @author johnnie - @param <T> */ public interface Generator<T> { / - 用以产生新对象 - @return */ public T next(); }
四、生成器的使用
[实例代码]
/ - Generator 的实现类 - @author johnnie * */ public class PersonGenerator implements Generator<Person> { private Class[] types = new Class[]{Person.class}; public PersonGenerator() { } @Override public Person next() { try { // 利用反射生成 Person 对象 return (Person) types[0].newInstance(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } return null; } public static void main(String[] args) { PersonGenerator generator = new PersonGenerator(); Person person = generator.next(); person.setId(0); person.setName("johnnie"); person.setSex("Man"); System.out.println(person); } }
[输出]
Person [id=0, name=johnnie, sex=Man]
前往 bascker/javaworld 获取更多 Java 知识
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/4717.html