stu3=stu1.clone(); stu3.setStuName(\СÁúÅ®\ stu3.setStuSex(\Å®\ System.out.print(\ÐÕÃû£º\+ stu1.getStuName()); System.out.print(\£¬ÐÔ±ð£º\+ stu1.getStuSex()); System.out.print(\£¬ÄêÁ䣺\+ stu1.getStuAge()); System.out.print(\£¬×¨Òµ£º\+ stu1.getStuMajor()); System.out.print(\£¬Ñ§Ôº£º\+ stu1.getStuCollege()); System.out.print(\£¬Ñ§Ð££º\+
stu1.getStuUniversity()); System.out.println(); System.out.print(\ÐÕÃû£º\+ stu2.getStuName()); System.out.print(\£¬ÐÔ±ð£º\+ stu2.getStuSex()); System.out.print(\£¬ÄêÁ䣺\+ stu2.getStuAge()); System.out.print(\£¬×¨Òµ£º\+ stu2.getStuMajor()); System.out.print(\£¬Ñ§Ôº£º\+ stu2.getStuCollege()); System.out.print(\£¬Ñ§Ð££º\+
stu2.getStuUniversity()); System.out.println(); System.out.print(\ÐÕÃû£º\+ stu3.getStuName()); System.out.print(\£¬ÐÔ±ð£º\+ stu3.getStuSex()); System.out.print(\£¬ÄêÁ䣺\+ stu3.getStuAge()); System.out.print(\£¬×¨Òµ£º\+ stu3.getStuMajor()); System.out.print(\£¬Ñ§Ôº£º\+ stu3.getStuCollege()); System.out.print(\£¬Ñ§Ð££º\+
stu3.getStuUniversity());
System.out.println(); } }
ÔÐ͹ÜÀíÆ÷
import java.util.*;
interface MyColor extends Cloneable { public Object clone(); public void display(); }
class Red implements MyColor {
public Object clone() {
Red r=null; try {
r=(Red)super.clone(); }
catch(CloneNotSupportedException e) { }
return r; }
public void display() {
System.out.println(\ } }
class Blue implements MyColor {
public Object clone() {
Blue b=null; try {
b=(Blue)super.clone(); }
catch(CloneNotSupportedException e) {
}
return b; }
public void display() {
System.out.println(\ } }
class PrototypeManager {
private Hashtable ht=new Hashtable();
public PrototypeManager() {
ht.put(\ ht.put(\ }
public void addColor(String key,MyColor obj) {
ht.put(key,obj); }
public MyColor getColor(String key) {
return
(MyColor)((MyColor)ht.get(key)).clone(); } }
class Client {
public static void main(String args[]) {
PrototypeManager pm=new PrototypeManager();
MyColor
obj1=(MyColor)pm.getColor(\ obj1.display();
MyColor
obj2=(MyColor)pm.getColor(\ obj2.display();
System.out.println(obj1==obj2); } }
µ¥Àýģʽ
ʵÀýÒ»£ºÉí·ÝÖ¤ºÅÂë
ÔÚÏÖʵÉú»îÖУ¬¾ÓÃñÉí·ÝÖ¤ºÅÂë¾ßÓÐΨһÐÔ£¬Í¬Ò»¸öÈ˲»ÔÊÐíÓжà¸öÉí·ÝÖ¤ºÅÂ룬µÚÒ»´ÎÉêÇëÉí·Ý֤ʱ½«¸ø¾ÓÃñ·ÖÅäÒ»¸öÉí·ÝÖ¤ºÅÂ룬Èç¹ûÖ®ºóÒòΪÒÅʧµÈÔÒò²¹°ìʱ£¬»¹ÊÇʹÓÃÔÀ´µÄÉí·ÝÖ¤ºÅÂ룬²»»á²úÉúеĺÅÂë¡£ÏÖʹÓõ¥ÀýģʽģÄâ¸Ã³¡¾°¡£ public class Client { public static void main(String a[]) { IdentityCardNo no1,no2; no1=IdentityCardNo.getInstance(); no2=IdentityCardNo.getInstance(); System.out.println(\Éí·ÝÖ¤ºÅÂëÊÇ·ñÒ»Ö£º\
String str1,str2;
str1=no1.getIdentityCardNo(); str2=no1.getIdentityCardNo();
System.out.println(\µÚÒ»´ÎºÅÂ룺\str1);
System.out.println(\µÚ¶þ´ÎºÅÂ룺\str2);
System.out.println(\ÄÚÈÝÊÇ·ñÏàµÈ£º\+ str1.equalsIgnoreCase(str2));
System.out.println(\ÊÇ·ñÊÇÏàͬ¶ÔÏó£º\ } }
public class IdentityCardNo { private static IdentityCardNo
instance=null; private String no; private IdentityCardNo() { } public static IdentityCardNo getInstance() { if(instance==null) { System.out.println(\µÚÒ»´Î°ìÀíÉí·ÝÖ¤£¬·ÖÅäкÅÂ룡\ instance=new IdentityCardNo();
instance.setIdentityCardNo(\2\ } else { System.out.println(\ÖØ¸´°ìÀíÉí·ÝÖ¤£¬»ñÈ¡¾ÉºÅÂ룡\ } return instance; } private void setIdentityCardNo(String no) { this.no=no; } public String getIdentityCardNo() { return this.no; } }
ʵÀý¶þ£º´òÓ¡³Ø ÔÚ²Ù×÷ϵͳÖУ¬´òÓ¡³Ø(Print Spooler)ÊÇÒ»¸öÓÃÓÚ¹ÜÀí´òÓ¡ÈÎÎñµÄÓ¦ÓóÌÐò£¬Í¨¹ý´òÓ¡³ØÓû§¿ÉÒÔɾ³ý¡¢ÖÐÖ¹»òÕ߸ıä´òÓ¡ÈÎÎñµÄÓÅÏȼ¶£¬ÔÚÒ»¸öϵͳÖÐÖ»ÔÊÐíÔËÐÐÒ»¸ö´òÓ¡³Ø
¶ÔÏó£¬Èç¹ûÖØ¸´´´½¨´òÓ¡³ØÔòÅ׳öÒì³£¡£ÏÖʹÓõ¥ÀýģʽÀ´Ä£ÄâʵÏÖ´òÓ¡³ØµÄÉè¼Æ¡£ public class Client { public static void main(String a[]) { PrintSpoolerSingleton ps1,ps2; try {
ps1=PrintSpoolerSingleton.getInstance(); ps1.manageJobs(); } catch(PrintSpoolerException e) {
System.out.println(e.getMessage()); }
System.out.println(\ try {
ps2=PrintSpoolerSingleton.getInstance(); ps2.manageJobs(); } catch(PrintSpoolerException e) {
System.out.println(e.getMessage()); } } }
public class PrintSpoolerException extends Exception { public PrintSpoolerException(String message) { super(message); } }
public class PrintSpoolerSingleton { private static PrintSpoolerSingleton instance=null; private PrintSpoolerSingleton() { } public static PrintSpoolerSingleton getInstance() throws PrintSpoolerException { if(instance==null) { System.out.println(\´´½¨´òÓ¡³Ø£¡\ instance=new PrintSpoolerSingleton(); } else { throw new PrintSpoolerException(\´òÓ¡³ØÕýÔÚ¹¤×÷ÖУ¡\ } return instance; } public void manageJobs() { System.out.println(\¹ÜÀí´òÓ¡ÈÎÎñ£¡\ } } ÆäËû
public class Singleton { private static Singleton instance = null; private Singleton() { } public static Singleton getInstance()
{ if(instance==null)
instance=new Singleton();
return instance;
}
}
Íâ¹Ûģʽ
ʵÀýÒ»£ºµçÔ´×Ü¿ª¹Ø
ÏÖÔÚ¿¼²ìÒ»¸öµçÔ´×Ü¿ª¹ØµÄÀý×Ó£¬ÒÔ±ã½øÒ»²½ËµÃ÷Íâ¹Ûģʽ¡£ÎªÁËʹÓ÷½±ã£¬Ò»¸öµçÔ´×Ü¿ª¹Ø¿ÉÒÔ¿ØÖÆËÄÕµµÆ¡¢Ò»¸ö·çÉÈ¡¢Ò»Ì¨¿Õµ÷ºÍһ̨µçÊÓ»úµÄÆô¶¯ºÍ¹Ø±Õ¡£Í¨¹ý¸ÃµçÔ´×Ü¿ª¹Ø¿ÉÒÔͬʱ¿ØÖÆÉÏÊöËùÓеçÆ÷É豸£¬Ê¹ÓÃÍâ¹ÛģʽÉè¼Æ¸Ãϵͳ¡£ public class AirConditioner { public void on() { System.out.println(\¿Õµ÷´ò¿ª£¡\ } public void off() { System.out.println(\¿Õµ÷¹Ø±Õ£¡\ } }
public class Client { public static void main(String args[]) { GeneralSwitchFacade gsf=new GeneralSwitchFacade(); gsf.on(); System.out.println(\ gsf.off(); }
}public class Fan {
Ïà¹ØÍÆ¼ö£º