博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式笔记——Prototype
阅读量:5162 次
发布时间:2019-06-13

本文共 1615 字,大约阅读时间需要 5 分钟。

Java 里面实现Prototype

使用Cloneable接口

package prototype.pattern;import java.util.Date;/** *  * @author Real H LI * */public class Prototype implements Cloneable {	private Date date;	private String dateStr;	private String ID;		public Prototype(){		this.date=new Date();		this.dateStr=date.toString();		setID("YYYYYYY");	}		@Override	protected Object clone() throws CloneNotSupportedException {		// TODO Auto-generated method stub		try {			return this.getClass().newInstance();		} catch (IllegalAccessException e) {			// TODO Auto-generated catch block			e.printStackTrace();			return null;		} catch (InstantiationException e) {			// TODO Auto-generated catch block			e.printStackTrace();			return null;		}	}	public String getDateStr() {		return dateStr;	}	public void setID(String iD) {		ID = iD;	}	public String getID() {		return ID;	}		}
package prototype.pattern;/** *  * @author Real H LI * */public class PrototypePattern {	/**	 * @param args	 */	public static void main(String[] args) {		// TODO Auto-generated method stub		Prototype prototype = new Prototype();		System.out.println(prototype.getDateStr());		System.out.println("-------------------------------");		Prototype temp;		try {			for (int i = 0; i < 10; i++) {				temp = (Prototype) prototype.clone();				System.out.println(temp.getDateStr());				temp.setID(String.valueOf(i));			}		} catch (CloneNotSupportedException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}		System.out.println("-------------------------------");		System.out.println(prototype.getID());			}}

转载于:https://www.cnblogs.com/leestar/archive/2012/08/14/2810628.html

你可能感兴趣的文章
Numpy数组
查看>>
数据库设计(1)
查看>>
Cocos2d-x 脚本语言Lua基本数据结构-表(table)
查看>>
BZOJ.4695.最假女选手(线段树 Segment tree Beats!)
查看>>
迭代器&&生成器
查看>>
js中的事件委托或是事件代理详解
查看>>
如何显示超大图像
查看>>
spring@Resource注解
查看>>
实践语法----文件创建删除读写
查看>>
Linux学习笔记(第六章)
查看>>
Java 泛型编程
查看>>
STL简介
查看>>
Cookie/Session的机制与安全
查看>>
unbound域名解析
查看>>
Leetcode: Wiggle Sort II
查看>>
2019年春季学期第二周作业编程总结
查看>>
hadoop17---RPC和Socket的区别
查看>>
android 27 ListView
查看>>
android 30 下拉列表框:ArrayAdapter和Spinner.
查看>>
HDU 2817 A sequence of numbers
查看>>