锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲午夜成人精品无码色欲,亚洲一级特黄无码片,亚洲国产成人VA在线观看http://m.tkk7.com/laoding/category/42173.html鏈潵鎴戜互涓猴紝闅愯韓浜嗗埆浜哄氨鎵句笉鍒版垜錛屾病鏈夌敤鐨勶紝鍍忔垜榪欐牱鎷夐鐨勭敺浜猴紝鏃犺璧板埌鍝噷錛岄兘鍍忓湪榛戞殫涓殑钀ょ伀铏竴鏍鳳紝閭f牱鐨勯矞鏄庯紝閭f牱鐨勫嚭浼椼傛垜閭e咖閮佺殑鐪肩錛岀█鐤忕殑鑳¤尙錛岄偅寰井闅嗚搗鐨勫皢鍐涜倸鍜屼翰鍒囩殑絎戝......閮芥繁娣卞惛寮曚簡浼椾漢...... zh-cnWed, 14 Oct 2009 22:52:48 GMTWed, 14 Oct 2009 22:52:48 GMT60璁捐妯″紡涔媠ingleton妯″紡錛堝崟鎬侊級http://m.tkk7.com/laoding/articles/298216.html鑰佷竵鑰佷竵Wed, 14 Oct 2009 07:13:00 GMThttp://m.tkk7.com/laoding/articles/298216.htmlhttp://m.tkk7.com/laoding/comments/298216.htmlhttp://m.tkk7.com/laoding/articles/298216.html#Feedback0http://m.tkk7.com/laoding/comments/commentRss/298216.htmlhttp://m.tkk7.com/laoding/services/trackbacks/298216.html

鍦ㄥ緢澶氭搷浣滀腑錛屾瘮濡傚緩绔嬬洰褰?鏁版嵁搴撹繛鎺ラ兘闇瑕佽繖鏍風殑鍗曠嚎紼嬫搷浣溿?span lang="EN-US">

榪樻湁, singleton鑳藉琚姸鎬佸寲; 榪欐牱錛屽涓崟鎬佺被鍦ㄤ竴璧峰氨鍙互浣滀負涓涓姸鎬佷粨搴撲竴鏍峰悜澶栨彁渚涙湇鍔★紝姣斿錛屼綘瑕佽鍧涗腑鐨勫笘瀛愯鏁板櫒錛屾瘡嬈℃祻瑙堜竴嬈¢渶瑕佽鏁幫紝鍗曟佺被鑳藉惁淇濇寔浣忚繖涓鏁幫紝騫朵笖鑳絪ynchronize鐨勫畨鍏ㄨ嚜鍔ㄥ姞1錛屽鏋滀綘瑕佹妸榪欎釜鏁板瓧姘鎬箙淇濆瓨鍒版暟鎹簱錛屼綘鍙互鍦ㄤ笉淇敼鍗曟佹帴鍙g殑鎯呭喌涓嬫柟渚跨殑鍋氬埌銆?o:p>

鍙﹀鏂歸潰錛?span lang="EN-US">Singleton涔熻兘澶熻鏃犵姸鎬佸寲銆傛彁渚涘伐鍏鋒ц川鐨勫姛鑳斤紝

Singleton妯″紡灝變負鎴戜滑鎻愪緵浜嗚繖鏍峰疄鐜扮殑鍙兘銆備嬌鐢⊿ingleton鐨勫ソ澶勮繕鍦ㄤ簬鍙互鑺傜渷鍐呭瓨錛屽洜涓哄畠闄愬埗浜嗗疄渚嬬殑涓暟錛屾湁鍒╀簬Java鍨冨溇鍥炴敹錛坓arbage collection錛夈?br />
鎴戜滑甯稿父鐪嬪埌宸ュ巶妯″紡涓被瑁呭叆鍣?class loader)涓篃鐢⊿ingleton妯″紡瀹炵幇鐨?鍥犱負琚鍏ョ殑綾誨疄闄呬篃灞炰簬璧勬簮銆?br />
涓嬮潰鏉ョ湅鐪嬩緥瀛?br />

public class Singleton {
    
    
private static Singleton singleton = new Singleton();
    
    
private Singleton() {
        System.out.println(
"宸蹭駭鐢熷璞″疄渚嬨?/span>");
    }
    
    
public static Singleton getInstance() {
        
return singleton;
    }

嫻嬭瘯綾?br />
public class Main {

    
/**
     * 
@param args
     
*/
    
public static void main(String[] args) {
        
// TODO Auto-generated method stub
        System.out.println("Start.");
        System.out.println(
"start obj1");
        Singleton obj1 
= Singleton.getInstance();
        System.out.println(
"end obj1");
        
        System.out.println(
"start obj2");
        Singleton obj2 
= Singleton.getInstance();
        System.out.println(
"end obj2");
        
        
if(obj1 == obj2) {
            System.out.println(
"瀵硅薄鏄悓涓涓璞?/span>");
        } 
else {
            System.out.println(
"瀵硅薄涓嶆槸鍚屼竴涓璞?/span>");
        }
        
        System.out.println(
"End.");

    }

}


榪愯嫻嬭瘯綾伙紝鐪嬪埌鎺у埗鍙扮殑杈撳嚭濡備笅錛?br /> Start....
start obj1
宸蹭駭鐢熷璞″疄渚嬨?br /> end obj1
start obj2
end obj2
瀵硅薄鏄悓涓涓璞?br /> End....


鎴戜滑浠庝笂闈㈠紑濮嬬湅錛屽湪start obj1鍜宔nd obj1鐩存帴杈撳嚭浜?#8220;宸蹭駭鐢熷璞″疄渚?#8221;璇存槑鏈夊璞′駭鐢熶簡錛岃宻tart obj2鍜宔nd obj2涔嬮棿鍗存病鏈夋墦鍗幫紝涓轟粈涔堝憿錛熷洜涓哄彇寰梠bj2瀵硅薄鐨勬椂鍊欏茍娌℃湁鍐嶅垱寤烘柊鐨勫璞★紝鑰屾槸鍘繪嬁鍒拌窡obj1鍚屼竴涓璞★紝鍦⊿ingleton綾諱腑宸茬粡鍒涘緩浜嗚繖涓璞★紝騫朵笖鏄痵tatic鐨勶紝榪欐牱涔熷氨鍙互瑙i噴鍚庨潰鐨勮緭鍑?#8220;瀵硅薄鏄悓涓涓璞?#8221;榪欏彞璇濅簡銆?/o:p>

鑰佷竵 2009-10-14 15:13 鍙戣〃璇勮
]]>
璁捐妯″紡涔婣bstractFactory妯″紡錛堟娊璞″伐鍘傦級http://m.tkk7.com/laoding/articles/298209.html鑰佷竵鑰佷竵Wed, 14 Oct 2009 06:45:00 GMThttp://m.tkk7.com/laoding/articles/298209.htmlhttp://m.tkk7.com/laoding/comments/298209.htmlhttp://m.tkk7.com/laoding/articles/298209.html#Feedback0http://m.tkk7.com/laoding/comments/commentRss/298209.htmlhttp://m.tkk7.com/laoding/services/trackbacks/298209.html鏈疄渚嬮渶瑕佹牴鎹鐗╁洯鐨勭綾葷‘瀹氭鐗╁洯鐨勫竷灞錛?/span> 鑰屾鐗╁洯鐨勭綾繪湁寰堝錛屽搴旂殑妞嶇墿鍥竷灞涔熷悇涓嶇浉鍚屻傚湪榪欓噷鍋囪鏈?/span>3縐嶆鐗╁洯錛氳敩鑿滃洯錛屼竴騫寸敓妞嶇墿鍥紝澶氬勾鐢熸鐗╁洯銆傝繖3縐?/span>garden涓妞嶇殑妞嶇墿鍚勪笉鐩稿悓錛屼綋鐜板湪紼嬪簭涓嵆榪斿洖涓嶅悓鐨勫叧浜?#8220;妞嶇墿鍥竷灞”鐨勫璞°傜敓鎴愭鐗╁洯鐨勫竷灞鏄垜浠殑鐩殑錛屽鏋滄妸钄彍鍥佷竴騫寸敓妞嶇墿鍥佸騫寸敓妞嶇墿鍥湅浣滄槸3涓?#8220;浜у搧鏃?#8221;錛岃屾煇涓鏃跺埢鍙渶瑕佸叾涓竴涓駭鍝佹棌銆傜敱浜庢瘡涓駭鍝佹棌闇瑕佷竴涓敓浜х殑宸ュ巶錛屾墍浠ョ敓浜ц繖3涓駭鍝佹棌闇瑕?/span>3涓伐鍘傦紝鍒嗗埆鏄敩鑿滃洯宸ュ巶錛?/span>VegieGarden.java錛夛紝涓騫寸敓妞嶇墿鍥伐鍘傦紙AnnualGarden.java錛夛紝澶氬勾鐢熸鐗╁洯宸ュ巶錛?/span>PerennialGarden.java錛夈傜敱浜庤繖3涓伐鍘傞兘鏄敓浜ф鐗╁洯鐨勫伐鍘傦紝姣忎釜宸ュ巶鐢熶駭鐨勪駭鍝佸張鍩烘湰鐩稿悓錛堥兘鐢熶駭“涓績甯冨眬”銆?#8220;杈規部甯冨眬”銆?#8220;闃村甯冨眬”3涓駭鍝侊級錛屾墍浠ュ彲浠ユ娊璞′竴涓伐鍘傜被錛?/span>Garden.java錛夛紝榪欎釜宸ュ巶綾諱篃鍏峰鐢熶駭“涓績甯冨眬”銆?#8220;杈規部甯冨眬”鍜?#8220;闃村甯冨眬”3涓駭鍝佺殑鑳藉姏錛岃岀敓浜х殑鏂規硶鐢卞叿浣撶殑宸ュ巶鏉ュ疄鐜般傝繖鏍鳳紝鍐嶉氳繃涓涓繪帶紼嬪簭錛?/span>GardenMaker.java錛夛紙榪欎釜鎬繪帶紼嬪簭涔熷彲浠ユ斁鍒版娊璞$殑宸ュ巶涓級鎸囧畾闇瑕佽皟鐢ㄧ殑鍏蜂綋宸ュ巶銆?/span>

棣栧厛鏉ュ垱寤篜lant.java綾伙紝瀹冨彧鏈変竴涓猲ame灞炴?/p>
public class Plant {
    String name;

    
public Plant(String name) {        
        
this.name = name;
    }

    
public String getName() {
        
return name;
    }
}


鐒跺悗鏄疓arden綾伙紝3涓柟娉曞垎鍒槸寰楀埌涓績澶勩佽竟娌垮鍜岄槾鏆楀鐨勬鐗?/p>

public abstract class Garden {
    
public abstract Plant getCenter();
    
public abstract Plant getBorder();
    
public abstract Plant getShade();
}

涓嬮潰鏄?涓伐鍘傜被
/**
 * 涓騫寸敓妞嶇墿鍥伐鍘?br />  * 
@author Heinvo Lee
 *
 
*/
public class AnnualGarden extends Garden {

    @Override
    
public Plant getCenter() {
        
// TODO Auto-generated method stub
        return new Plant("Marigold");//涓囧鑿?/span>
    }
    
    @Override
    
public Plant getBorder() {
        
// TODO Auto-generated method stub
        return new Plant("Alyssum");//鍗佸瓧鑺辯妞嶇墿錛涘涵鑽?/span>
    }

    @Override
    
public Plant getShade() {
        
// TODO Auto-generated method stub
        return new Plant("Coleus");//钖勮嵎縐戞鐗?/span>
    }

}

/**
 * 甯稿勾鐢熸鐗╁洯宸ュ巶
 * 
@author Heinvo Lee
 *
 
*/
public class PerennialGarden extends Garden {



    @Override
    
public Plant getCenter() {
        
// TODO Auto-generated method stub
        return new Plant("Dicentrum");
    }
    
    @Override
    
public Plant getBorder() {
        
// TODO Auto-generated method stub
        return new Plant("Sedum");//鏅ぉ灞炴鐗╋紱鍏疂
    }

    @Override
    
public Plant getShade() {
        
// TODO Auto-generated method stub
        return new Plant("Astilbe");//钀芥柊濡囧睘妞嶇墿
    }

}

/**
 * 钄彍鍥伐鍘?br />  * 
@author Heinvo Lee
 *
 
*/
public class VegieGarden extends Garden {

    
public Plant getCenter() {
        
return new Plant("Corn");
        }
    
public Plant getBorder() {
        
return new Plant("Peas");
        }
    
    
public Plant getShade() {        
        
return new Plant("Broccoli");//鑺辨ぐ鑿?/span>
        }

}

鎺ヤ笅鏉ュ垱寤烘繪帶綾籊ardenMaker
public class GardenMaker {
    
private Garden garden;
    
public Garden getGarden(String gtype)
    {
        garden 
= new VegieGarden(); //default
    if(gtype.equals("Perennial"))
        garden 
= new PerennialGarden();
    
if(gtype.equals("Annual"))
        garden 
= new AnnualGarden();
    
return garden;
    }
}

鐒跺悗鏄竴涓祴璇曠被浜?br />
public class Main {

    
/**
     * 
@param args
     
*/
    
public static void main(String[] args) {
        GardenMaker gm
=new GardenMaker();
        Garden vg
=gm.getGarden("Vegie");
        Garden ag
=gm.getGarden("Annual");
        Garden pg
=gm.getGarden("Perennial");
        
        System.out.println(
"Vegie garden, center: "+vg.getCenter().getName());
        System.out.println(
"Vegie garden, border: "+vg.getBorder().getName());
        System.out.println(
"Vegie garden, shade: "+vg.getShade().getName());
        System.out.println(
"------------------------------------");
        System.out.println(
"Annual garden, center: "+ag.getCenter().getName());
        System.out.println(
"Annual garden, border: "+ag.getBorder().getName());
        System.out.println(
"Annual garden, shade: "+ag.getShade().getName());
        System.out.println(
"------------------------------------");
        System.out.println(
"Perennial garden, center: "+pg.getCenter().getName());
        System.out.println(
"Perennial garden, border: "+pg.getBorder().getName());
        System.out.println(
"Perennial garden, shade: "+pg.getShade().getName());
        
        
// TODO Auto-generated method stub

    }

}

鎵ц榪欎釜嫻嬭瘯綾伙紝鍙互鍦ㄦ帶鍒跺彴鐪嬪埌浠ヤ笅鏁堟灉錛堟垜浠ョ孩鑹叉爣綰級

Vegie garden, center: Corn
Vegie garden, border: Peas
Vegie garden, shade: Broccoli
------------------------------------
Annual garden, center: Marigold
Annual garden, border: Alyssum
Annual garden, shade: Coleus
------------------------------------
Perennial garden, center: Dicentrum
Perennial garden, border: Sedum
Perennial garden, shade: Astilbe

浠庤繖涓緥瀛愭垜鐪嬪嚭浠ヤ笅錛?br />   GardenMaker gm=new GardenMaker();
  Garden vg=gm.getGarden("Vegie");
  Garden ag=gm.getGarden("Annual");
  Garden pg=gm.getGarden("Perennial");
涓婇潰4鍙ヤ唬鐮佹槸嫻嬭瘯綾婚噷闈㈢殑

褰撻渶瑕佺敓浜ф煇涓縐嶆鐗╁洯鐨勫竷灞鏃訛紝鍙渶瑕佸皢妞嶇墿鍥殑綾誨瀷鍛婅瘔鎬繪帶紼嬪簭錛圙ardenMaker.java錛夛紝榪欓噷鏄紶鍏ュ弬鏁癡egie銆丄nnual銆丳erennial錛屾繪帶紼嬪簭鍐沖畾浣跨敤鐢熶駭鎸囧畾綾誨瀷妞嶇墿鍥殑宸ュ巶鐢熶駭鍑洪渶瑕佺殑“浜у搧鏃?#8221;錛岃屽湪姝よ繃紼嬩腑錛屼笉闇瑕佷簡瑙e叿浣撳伐鍘備腑鐨勬柟娉曟槸濡備綍瀹炵幇鐨勩?/span>


鑰佷竵 2009-10-14 14:45 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 好湿好大好紧好爽免费视频| 亚洲精品国产精品国自产网站| 亚洲国产精品综合久久2007| eeuss影院ss奇兵免费com| 免费高清资源黄网站在线观看| 激情97综合亚洲色婷婷五| 亚洲欧洲日韩国产一区二区三区| 91在线手机精品免费观看| 国产亚洲视频在线播放| 国产亚洲精品成人AA片| 99视频免费播放| 亚洲成综合人影院在院播放| 成人免费一区二区三区 | 久久精品一区二区免费看| 亚洲日本va午夜中文字幕久久| 67194在线午夜亚洲| 国产一级理论免费版| 亚洲人成网站色在线观看| 足恋玩丝袜脚视频免费网站| 亚洲国产精品日韩在线观看| 久9久9精品免费观看| 亚洲日本香蕉视频观看视频| 国产在线播放线91免费| 中文字幕亚洲日韩无线码| 一本岛v免费不卡一二三区| 亚洲精品白浆高清久久久久久| 精品国产亚洲AV麻豆| 久久久久国色AV免费观看性色| 亚洲精品人成网在线播放影院| 最近中文字幕无免费| 亚洲AV日韩AV永久无码下载| 一级毛片a免费播放王色电影| 亚洲视频在线观看免费视频| a级片在线免费看| 亚洲中文字幕AV每天更新| JLZZJLZZ亚洲乱熟无码| 嘿嘿嘿视频免费网站在线观看| 久久精品亚洲男人的天堂| 中文字幕在线免费播放| 亚洲AV永久青草无码精品| 91精品国产免费久久国语蜜臀|