锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲第一网站男人都懂,久久久久亚洲AV无码去区首,国产午夜亚洲精品国产成人小说http://m.tkk7.com/apple0668/category/25898.htmlTDD,Agile,Scrum,Core Java,J2EE,Investment Blankzh-cnSat, 28 Apr 2012 16:58:06 GMTSat, 28 Apr 2012 16:58:06 GMT60浠諱綍浜洪兘鍙互閲嶆瀯<杞澆>http://m.tkk7.com/apple0668/archive/2012/04/28/376978.htmlapple0668apple0668Sat, 28 Apr 2012 07:56:00 GMThttp://m.tkk7.com/apple0668/archive/2012/04/28/376978.htmlhttp://m.tkk7.com/apple0668/comments/376978.htmlhttp://m.tkk7.com/apple0668/archive/2012/04/28/376978.html#Feedback0http://m.tkk7.com/apple0668/comments/commentRss/376978.htmlhttp://m.tkk7.com/apple0668/services/trackbacks/376978.html鍘熸枃錛?a >https://www.ibm.com/developerworks/cn/linux/opensource/os-ecref/
涓轟粈涔堥噸鏋?

閲嶆瀯鏄寚鍦ㄤ笉鏀瑰彉紼嬪簭鍔熻兘鐨勫墠鎻愪笅鏀瑰彉鍏剁粨鏋勩傞噸鏋勬槸涓欏瑰姛鑳藉己澶х殑鎶鏈紝浣嗘槸鎵ц璧鋒潵闇瑕佸嶅姞灝忓績鎵嶈銆備富瑕佺殑鍗遍櫓鍦ㄤ簬鍙兘鍦ㄤ笉緇忔剰涓紩鍏ヤ竴浜涢敊璇紝灝ゅ叾鏄湪榪涜鎵嬪伐閲嶆瀯鐨勬椂鍊欐洿鏄姝ゃ傝繖縐嶅嵄闄╁紩鍙戜簡瀵歸噸鏋勬妧鏈殑鏅亶鎵硅瘎錛氬綋浠g爜涓嶄細(xì)宕╂簝鐨勬椂鍊欎負(fù)浠涔堣淇敼瀹冨憿錛?

鎮(zhèn)ㄩ渶瑕佽繘琛屼唬鐮侀噸鏋勭殑鍘熷洜鍙兘鏈変互涓嬪嚑涓細(xì)浼犺涓殑絎竴涓師鍥犳槸錛氶渶瑕佺戶鎵夸負(fù)鏌愪釜鍙よ佷駭鍝佽屽紑鍙戠殑騫翠唬涔呰繙鐨勪唬鐮侊紝鎴栬呯獊鐒剁鍒拌繖浜涗唬鐮併傛渶鍒濈殑寮鍙戝洟闃熷凡緇忎笉鍦ㄤ簡銆傛垜浠繀欏誨垱寤哄鍔犱簡鏂扮壒鎬х殑鏂扮増鏈蔣浠訛紝浣嗘槸榪欎簺浠g爜宸茬粡鏃犳硶鐞嗚В浜嗐傛柊鐨勫紑鍙戦槦浼嶅浠ョ戶鏃ュ湴宸ヤ綔錛岀牬璇戜唬鐮佺劧鍚庢槧灝勪唬鐮侊紝緇忚繃澶ч噺鐨勮鍒掍笌璁捐涔嬪悗錛屼漢浠皢榪欎簺浠g爜鍒嗗壊鎴愮鐗囥傚巻緇忛噸閲嶇(闅句箣鍚庯紝鎵鏈夎繖浜涗笢瑗塊兘鎸夌収鏂扮増鏈殑瑕佹眰褰掍綅浜嗐傝繖鏄嫳闆勮埇鐨勯噸鏋勬晠浜嬶紝鍑犱箮娌℃湁浜鴻兘鍦ㄧ粡鍘嗕簡榪欎簺涔嬪悗媧葷潃璁茶堪榪欐牱鐨勬晠浜嬨?/p>

榪樻湁涓縐嶇幇瀹炰竴浜涚殑鎯呭喌鏄」鐩腑鍔犲叆浜嗘柊鐨勯渶姹傦紝闇瑕佸璁捐榪涜淇敼銆傝嚦浜庢槸鍥犱負(fù)鍦ㄦ渶鍒濈殑瑙勫垝榪囩▼涓け瀵燂紝榪樻槸鐢變簬閲囩敤浜嗚凱浠e紡鐨勫紑鍙戣繃紼嬶紙姣斿鏁忔嵎寮鍙戯紝鎴栬呮槸嫻嬭瘯椹卞姩鐨勫紑鍙戯級(jí)鑰屽湪寮鍙戣繃紼嬩腑鏈夋剰寮曞叆闇姹傦紝榪欎袱鑰呭茍娌℃湁瀹炶川鎬х殑鍖哄埆銆傝繖鏍風(fēng)殑閲嶆瀯鐨勮妯¤灝忓緱澶氾紝鍏跺唴瀹逛竴鑸秹鍙?qiáng)閫氳繃寮曞叆鎺ュ彛鎴栬呮娊璞$被鏉ユ洿鏀圭被鐨勭戶鎵垮叧緋伙紝浠ュ強(qiáng)瀵圭被榪涜鍒嗗壊鍜岄噸鏂扮粍緇囷紝絳夌瓑銆?/p>

閲嶆瀯鐨勬渶鍚庝竴涓師鍥犳槸錛屽綋瀛樺湪鍙敤鐨勮嚜鍔ㄩ噸鏋勫伐鍏鋒椂錛屽彲浠ユ湁涓涓敤鏉ラ鍏堢敓鎴愪唬鐮佺殑蹇嵎鏂瑰紡——灝卞ソ姣斿湪鎮(zhèn)ㄦ棤娉曠‘瀹氬浣曟嫾鍐欐煇涓崟璇嶇殑鏃跺欙紝鍙互鐢ㄦ煇縐嶆嫾鍐欐鏌ュ伐鍏瘋緭鍏ヨ繖涓崟璇嶃傛瘮濡傝錛屾?zhèn)ㄥ彲浠ョ敤杩櫩U嶅鉤娣℃棤濂囩殑閲嶆瀯鏂規(guī)硶鐢熸垚 getter 鍜?setter 鏂規(guī)硶錛屼竴鏃︾啛鎮(zhèn)変簡榪欐牱鐨勫伐鍏鳳紝瀹冨氨鍙互涓烘?zhèn)ㄨ妭鐪佸緢澶氱殑鏃堕棿銆?/p>

Eclipse 鐨勯噸鏋勫伐鍏鋒棤鎰忚繘琛岃嫳闆勭駭鐨勯噸鏋?#8212;—閫傚悎榪欑瑙勬ā鐨勫伐鍏峰嚑涔庢病鏈?#8212;—浣嗘槸涓嶈鏄惁鐢ㄥ埌鏁忔嵎寮鍙戞妧鏈紝Eclipse 鐨勫伐鍏峰浜庝竴鑸▼搴忓憳淇敼浠g爜鐨勫伐浣滈兘鍏鋒湁鏃犳硶琛¢噺鐨勪環(huán)鍊箋傛瘯绔熶換浣曞鏉傜殑鎿嶄綔鍙鑳藉鑷姩榪涜錛屽氨鍙互涓嶉偅涔堢儲(chǔ)闂蜂簡銆傚彧瑕佹?zhèn)ㄧ煡閬?Eclipse 瀹炵幇浜嗕粈涔堟牱鐨勯噸鏋勫伐鍏鳳紝騫剁悊瑙d簡瀹冧滑鐨勯傜敤鎯呭喌錛屾?zhèn)ㄧ殑鐢熶骇鍔洖兗?xì)寰楀埌鏋佸ぇ鐨勬彁楂樸?/p>

瑕侀檷浣庡浠g爜閫犳垚鐮村潖鐨勯闄╋紝鏈変袱縐嶉噸瑕佺殑鏂規(guī)硶銆傜涓縐嶆柟娉曟槸瀵逛唬鐮佽繘琛屼竴濂楀畬鍏ㄥ交搴曠殑鍗曞厓嫻嬭瘯錛氬湪閲嶆瀯涔嬪墠鍜屼箣鍚庨兘蹇呴』閫氳繃榪欐牱鐨勬祴璇曘傜浜岀鏂規(guī)硶鏄嬌鐢ㄨ嚜鍔ㄥ寲鐨勫伐鍏鋒潵榪涜閲嶆瀯錛屾瘮濡傝 Eclipse 鐨勯噸鏋勭壒鎬с?/p>

灝嗗交搴曠殑嫻嬭瘯涓庤嚜鍔ㄥ寲閲嶆瀯緇撳悎璧鋒潵灝變細(xì)鏇村姞鏈夋晥浜嗭紝榪欐牱閲嶆瀯涔熷氨浠庝竴縐嶇縐樼殑鑹烘湳鍙樻垚浜嗘湁鐢ㄧ殑鏃ュ父宸ュ叿銆備負(fù)浜嗗鍔犳柊鐨勫姛鑳芥垨鑰呮敼榪涗唬鐮佺殑鍙淮鎶ゆэ紝鎴戜滑鍙互鍦ㄤ笉褰卞搷鍘熸湁浠g爜鍔熻兘鐨勫熀紜涓婅繀閫熶笖瀹夊叏鍦版敼鍙樺叾緇撴瀯銆傝繖縐嶈兘鍔涗細(xì)瀵規(guī)偍璁捐鍜屽紑鍙戜唬鐮佺殑鏂瑰紡浜х敓鏋佸ぇ鐨勫獎(jiǎng)鍝嶏紝鍗充究鏄?zhèn)ㄦ病鏈墳畣鍏毒l撳悎鍒版寮忕殑鏁忔嵎鏂規(guī)硶涓篃娌℃湁鍏崇郴銆?/p>


Eclipse 涓噸鏋勭殑綾誨瀷

Eclipse 鐨勯噸鏋勫伐鍏峰彲浠ュ垎涓轟笁澶х被錛堜笅闈㈢殑欏哄簭涔熷氨鏄繖浜涘伐鍏峰湪 Refactoring 鑿滃崟涓嚭鐜扮殑欏哄簭錛夛細(xì)

  1. 瀵逛唬鐮佽繘琛岄噸鍛藉悕浠ュ強(qiáng)鏀瑰彉浠g爜鐨勭墿鐞嗙粨鏋勶紝鍖呮嫭瀵瑰睘鎬с佸彉閲忋佺被浠ュ強(qiáng)鎺ュ彛閲嶆柊鍛藉悕錛岃繕鏈夌Щ鍔ㄥ寘鍜岀被絳夈?/li>
  2. 鏀瑰彉綾諱竴綰х殑浠g爜閫昏緫緇撴瀯錛屽寘鎷皢鍖垮悕綾昏漿鍙樹負(fù)宓屽綾伙紝灝嗗祵濂楃被杞彉涓洪《綰х被銆佹牴鎹叿浣撶殑綾誨垱寤烘帴鍙o紝浠ュ強(qiáng)浠庝竴涓被涓皢鏂規(guī)硶鎴栬呭睘鎬хЩ鍒板瓙綾繪垨鑰呯埗綾諱腑銆?/li>
  3. 鏀瑰彉涓涓被鍐呴儴鐨勪唬鐮侊紝鍖呮嫭灝嗗眬閮ㄥ彉閲忓彉鎴愮被鐨勫睘鎬с佸皢鏌愪釜鏂規(guī)硶涓変腑閮ㄥ垎鐨勪唬鐮佸彉鎴愪竴涓嫭绔嬬殑鏂規(guī)硶銆佷互鍙?qiáng)湄?fù)灞炴х敓鎴?getter 鍜?setter 鏂規(guī)硶銆?/li>

榪樻湁鍑犱釜閲嶆瀯宸ュ叿騫朵笉鑳藉畬鍏ㄥ綊鍏ヨ繖涓変釜縐嶇被錛岀壒鍒槸 Change Method Signature錛屼笉榪囧湪鏈枃涓繕鏄皢榪欎釜宸ュ叿褰掑叆絎笁綾匯傞櫎浜嗚繖縐嶄緥澶栨儏鍐典互澶栵紝鏈枃涓嬮潰鍑犺妭閮芥槸鎸夌収涓婇潰鐨勯『搴忔潵璁ㄨ Eclipse 閲嶆瀯宸ュ叿鐨勩?/p>


鐗╃悊閲嶇粍涓庨噸鍛藉悕

鏄劇劧錛屾?zhèn)ㄥ嵆渚挎病鏈夌壒鍒殑宸ュ咗P紝涔熷彲浠ュ湪鏂囦歡緋葷粺涓噸鍛藉悕鏂囦歡鎴栬呮槸縐誨姩鏂囦歡錛屼絾鏄鏋滄搷浣滃璞℃槸 Java 婧愪唬鐮佹枃浠訛紝鎮(zhèn)ㄥ氨闇瑕佺紪杈戝緢澶氭枃浠訛紝鏇存柊鍏朵腑鐨?import 鎴?package 璇彞銆備笌姝ょ被浼鹼紝鐢ㄦ煇縐嶆枃鏈紪杈戝櫒鐨勬悳绱笌鏇挎崲鍔熻兘涔熷彲浠ュ緢瀹規(guī)槗鍦扮粰綾匯佹柟娉曞拰鍙橀噺閲嶆柊鍛藉悕錛屼絾鏄繖鏍峰仛鐨勬椂鍊欏繀欏誨崄鍒嗗皬蹇冿紝鍥犱負(fù)涓嶅悓鐨勭被鍙兘鍏鋒湁鍚嶇О鐩鎬技鐨勬柟娉曟垨鑰呭彉閲忥紱瑕佹槸浠庡ご鍒板熬媯(gè)鏌ラ」鐩腑鎵鏈夌殑鏂囦歡錛屾潵淇濊瘉姣忎釜涓滆タ鐨勬爣璇嗗拰淇敼鐨勬紜э紝閭e彲鐪熷涔忓懗鐨勩?

Eclipse 鐨?Rename 鍜?Move 宸ュ叿鑳藉鍗佸垎鑱槑鍦板湪鏁翠釜欏圭洰涓畬鎴愯繖鏍風(fēng)殑淇敼錛岃屼笉闇瑕佺敤鎴風(fēng)殑騫叉秹銆傝繖鏄洜涓?Eclipse 鍙互鐞嗚В浠g爜鐨勮涔夛紝浠庤岃兘澶熻瘑鍒嚭瀵規(guī)煇涓壒瀹氭柟娉曘佸彉閲忔垨鑰呯被鍚嶇О鐨勫紩鐢ㄣ傜畝鍖栬繖涓浠誨姟鏈夊姪浜庣‘淇濇柟娉曘佸彉閲忓拰綾葷殑鍚嶇О鑳藉娓呮櫚鍦版寚紺哄叾鐢ㄩ斻?/p>

鎴戜滑緇忓父鍙互鍙戠幇浠g爜鐨勫悕瀛椾笉鎭板綋鎴栬呬護(hù)浜哄鏄撹瑙o紝榪欐槸鍥犱負(fù)浠g爜涓庢渶鍒濊璁$殑鍔熻兘鏈夋墍涓嶅悓銆傛瘮鏂硅錛屾煇涓敤鏉ュ湪鏂囦歡涓煡鎵劇壒瀹氬崟璇嶇殑紼嬪簭涔熻浼?xì)鎵╁睍湄?fù)鍦?Web 欏甸潰涓氳繃 URL 鑾峰彇 InputStream 鐨勬搷浣溿傚鏋滆繖涓杈撳叆嫻佹渶鍒濆彨鍋?file 錛岄偅涔堝氨搴旇淇敼瀹冪殑鍚嶅瓧錛屼互渚胯兘鍙嶆槧鍏舵柊澧炵殑鏇村姞涓鑸殑鐗規(guī)э紝姣旀柟璇?sourceStream 銆傚紑鍙戜漢鍛樼粡甯告棤娉曟垚鍔熷湴淇敼榪欎簺鍚嶇О錛屽洜涓鴻繖涓繃紼嬫槸鍗佸垎娣蜂貢鍜屼箯鍛崇殑銆傝繖褰撶劧涔熶細(xì)鎶婁笅涓涓笉寰椾笉瀵硅繖浜涚被榪涜鎿嶄綔鐨勫紑鍙戜漢鍛樺紕緋婃秱銆?

瑕佸鏌愪釜 Java 鍏冪礌榪涜閲嶅懡鍚嶏紝鍙渶瑕佺畝鍗曞湴浠?Package Explorer 瑙嗗浘涓偣鍑昏繖涓厓绱狅紝鎴栬呬粠Java 婧愪唬鐮佹枃浠朵腑閫変腑榪欎釜鍏冪礌錛岀劧鍚庨夋嫨鑿滃崟欏?Refactor > Rename銆傚湪瀵硅瘽妗嗕腑杈撳叆鏂扮殑鍚嶇О錛岀劧鍚庨夋嫨鏄惁闇瑕?Eclipse 涔熸敼鍙樺榪欎釜鍚嶇О鐨勫紩鐢ㄣ傚疄闄呮樉紺哄嚭鏉ョ殑紜垏鍐呭涓庢?zhèn)ㄦ墍閫夊厓绱犵殑綾誨瀷鏈夊叧銆傛瘮鏂硅錛屽鏋滈夋嫨鐨勫睘鎬у叿鏈?getter 鍜?setter 鏂規(guī)硶錛岄偅涔堜篃灝卞彲浠ュ悓鏃舵洿鏂拌繖浜涙柟娉曠殑鍚嶇О錛屼互鍙嶆槧鏂扮殑灞炴с傚浘1鏄劇ず浜嗕竴涓畝鍗曠殑渚嬪瓙銆?

鍥?1. 閲嶅懡鍚嶄竴涓眬閮ㄥ彉閲?/strong>
Renaming a local variable

灝卞儚鎵鏈夌殑 Eclipse 閲嶆瀯鎿嶄綔涓鏍鳳紝褰撴?zhèn)ㄦ寚瀹氫簡鍏ㄩ儴鐢ㄦ潵鎵ц閲嶆瀯鐨勫繀瑕佷俊鎭箣鍚庡Q屾?zhèn)鍙互鐐瑰?Preview 鎸夐挳錛岀劧鍚庡湪涓涓璇濇涓姣?Eclipse 鎵撶畻榪涜鍝簺鍙樻洿錛屾?zhèn)ㄥ彲浠ュ垎鍒惁鍐虫垨鑰呯‘璁ゆ瘡涓涓彈鍒板獎(jiǎng)鍝嶇殑鏂囦歡涓殑姣忎竴欏瑰彉鏇淬傚鏋滄?zhèn)ㄥ浜?Eclipse 姝g‘鎵ц鍙樻洿鐨勮兘鍔涙湁淇″績鐨勮瘽錛屾?zhèn)ㄥ彲浠ュ彧鎸変?OK鎸夐挳銆傛樉鐒?dòng)灱屽鏋滄?zhèn)ㄤ笉紜畾閲嶆瀯鍒板簳鍋氫簡浠涔堜簨鎯咃紝鎮(zhèn)ㄥ氨浼?xì)鎯冲厛棰勮涓涓嬶紝浣嗘槸瀵逛簬 Rename 鍜?Move 榪欐牱綆鍗曠殑閲嶆瀯鑰岃█錛岄氬父娌℃湁蹇呰棰勮銆?

Move 鎿嶄綔涓?Rename 鍗佸垎鐩鎬技錛氭?zhèn)ㄩ夋嫨鏌愪釜 Java 鍏冪礌錛堥氬父鏄竴涓被錛夛紝涓哄叾鎸囧畾涓涓柊浣嶇疆錛屽茍瀹氫箟鏄惁闇瑕佹洿鏂板紩鐢ㄣ傜劧鍚庯紝鎮(zhèn)ㄥ彲浠ラ夋嫨 Preview媯(gè)鏌ュ彉鏇存儏鍐碉紝鎴栬呴夋嫨 OK 绔嬪嵆鎵ц閲嶆瀯錛屽鍥?鎵紺恒?

鍥?2. 灝嗙被浠庝竴涓寘縐誨埌鍙︿竴涓寘
Moving a class

鍦ㄦ煇浜涘鉤鍙頒笂錛堢壒鍒槸 Windows錛夛紝鎮(zhèn)ㄨ繕鍙互鍦?Package Explorer 瑙嗗浘涓氳繃綆鍗曟嫋鏀劇殑鏂規(guī)硶灝嗙被浠庝竴涓寘鎴栬呮枃浠跺す涓Щ鍒板彟涓涓寘鎴栨枃浠跺す涓傛墍鏈夌殑寮曠敤閮戒細(xì)鑷姩鏇存柊銆?/p>


閲嶆柊瀹氫箟綾葷殑鍏崇郴

Eclipse 涓湁澶ч噺鐨勯噸鏋勫伐鍏鳳紝浣挎?zhèn)ㄨ兘澶熻嚜鍔ㄦ敼鍙樉c葷殑鍏崇郴銆傝繖浜涢噸鏋勫伐鍏峰茍娌℃湁 Eclipse 鎻愪緵鐨勫叾浠栧伐鍏烽偅涔堝父鐢紝浣嗘槸寰堟湁浠峰鹼紝鍥犱負(fù)瀹冧滑鑳藉鎵ц闈炲父澶嶆潅鐨勪換鍔°傚彲浠ヨ錛屽綋瀹冧滑鐢ㄥ緱涓婄殑鏃跺欙紝灝變細(xì)闈炲父鏈夌敤銆?/p>

鎻愬崌鍖垮悕綾諱笌宓屽綾?/span>

Convert Anonymous Class錛堣漿鎹㈠尶鍚嶇被錛夊拰 Convert Nested Type錛堣漿鎹㈠祵濂楃被錛夎繖涓ょ閲嶆瀯鏂規(guī)硶姣旇緝鐩鎬技錛屽畠浠兘灝嗘煇涓被浠庡叾褰撳墠鑼冨洿縐誨姩鍒板寘鍚繖涓被鐨勮寖鍥翠笂銆?/p>

鍖垮悕綾繪槸涓縐嶈娉曢熷啓鏍囪錛屼嬌鎮(zhèn)ㄨ兘澶熷湪闇瑕佸疄鐜版煇涓娊璞$被鎴栬呮帴鍙g殑鍦版柟鍒涘緩涓涓被鐨勫疄渚嬶紝鑰屼笉闇瑕佹樉寮忔彁渚涚被鐨勫悕縐般傛瘮濡傚湪鍒涘緩鐢ㄦ埛鐣岄潰涓殑鐩戝惉鍣ㄦ椂錛屽氨緇忓父鐢ㄥ埌鍖垮悕綾匯傚湪娓呭崟1涓紝鍋囪 Bag 鏄湪鍏朵粬鍦版柟瀹氫箟鐨勪竴涓帴鍙o紝鍏朵腑澹版槑浜嗕袱涓柟娉曪紝 get() 鍜?set() 銆?


娓呭崟 1. Bag 綾?/strong>
 
      public class BagExample
{
   void processMessage(String msg)
   {
      Bag bag = new Bag()
      {
         Object o;
         public Object get()
         {
            return o;
         }
         public void set(Object o)
         {
            this.o = o;
         }
      };
      bag.set(msg);
      MessagePipe pipe = new MessagePipe();
      pipe.send(bag);
   }
}

褰撳尶鍚嶇被鍙樺緱寰堝ぇ錛屽叾涓殑浠g爜闅句互闃呰鐨勬椂鍊欙紝鎮(zhèn)ㄥ氨搴旇鑰冭檻灝嗚繖涓尶鍚嶇被鍙樻垚涓ユ牸鎰忎箟涓婄殑綾伙紱涓轟簡淇濇寔灝佽鎬э紙鎹㈠彞璇濊錛屽氨鏄皢瀹冮殣钘忚搗鏉ワ紝浣垮緱涓嶅繀鐭ラ亾瀹冪殑澶栭儴綾諱笉鐭ラ亾瀹冿級(jí)錛屾?zhèn)ㄥ簲璇畣鍏跺彉鎴愬祵濂椌c伙紝鑰屼笉鏄《綰х被銆傛?zhèn)ㄥ彲浠ュ湪杩欎釜鍖垮悕绫荤殑鍐呴儴鐐瑰嚮锛岀劧鍚庨夋嫨 Refactor > Convert Anonymous Class to Nested 灝卞彲浠ヤ簡銆傚綋鍑虹幇紜瀵硅瘽妗嗙殑鏃跺欙紝涓鴻繖涓被杈撳叆鍚嶇О錛屾瘮濡?BagImpl 錛岀劧鍚庨夋嫨 Preview鎴栬?OK銆傝繖鏍鳳紝浠g爜灝卞彉鎴愪簡濡傛竻鍗?鎵紺虹殑鎯呭艦銆?


娓呭崟 2. 緇忚繃閲嶆瀯鐨?Bag 綾?/strong>
 
public class BagExample
{
   private final class BagImpl implements Bag
   {
      Object o;
      public Object get()
      {
         return o;
      }
      public void set(Object o)
      {
         this.o = o;
      }
   }
       
   void processMessage(String msg)
   {
     Bag bag = new BagImpl();
     bag.set(msg);
     MessagePipe pipe = new MessagePipe();
     pipe.send(bag);
   }
}

褰撴?zhèn)ㄦ儗櫘╁叾浠栫殑绫讳娇鐢ㄦ煇涓祵濂椌c繪椂錛孋onvert Nested Type to Top Level 灝卞緢鏈夌敤浜嗐傛瘮鏂硅錛屾?zhèn)ㄥ彲浠ュ湪涓涓被涓嬌鐢ㄥ煎璞★紝灝卞儚涓婇潰鐨?BagImpl 綾婚偅鏍楓傚鏋滄?zhèn)ㄥ悗鏉ュ張鍐冲畾搴旇鍦ㄥ涓c諱箣闂村叡浜繖涓暟鎹紝閭d箞閲嶆瀯鎿嶄綔灝辮兘浠庤繖涓祵濂楃被涓垱寤烘柊鐨勭被鏂囦歡銆傛?zhèn)ㄥ彲浠ュ湪婧愪唬鐮佹枃錃g涓珮浜変腑綾誨悕縐幫紙鎴栬呭湪 Outline 瑙嗗浘涓偣鍑葷被鐨勫悕縐幫級(jí)錛岀劧鍚庨夋嫨 Refactor > Convert Nested Type to Top Level錛岃繖鏍峰氨瀹炵幇浜嗛噸鏋勩?

榪欑閲嶆瀯瑕佹眰鎮(zhèn)ㄤ負(fù)瑁呭叆瀹炰緥鎻愪緵涓涓悕瀛椼傞噸鏋勫伐鍏蜂篃浼?xì)鎻愪緵寰忚鐨勫悕绉板Q屾瘮濡?example 錛屾?zhèn)ㄥ彲浠ユ帴鍙棙q欎釜鍚嶅瓧銆傝繖涓悕瀛楃殑鎰忔濊繃涓浼?xì)鍎繛娓呮浜嗐傜偣鍑?OK 涔嬪悗錛屽灞傜被 BagExample 灝變細(xì)鍙樻垚娓呭崟3鎵紺虹殑鏍峰瓙銆?


娓呭崟 3. 緇忚繃閲嶆瀯鐨?Bag 綾?/strong>
public class BagExample
{
   void processMessage(String msg)
   {
      Bag bag = new BagImpl(this);
      bag.set(msg);
      MessagePipe pipe = new MessagePipe();
      pipe.send(bag);
   }
}

璇鋒敞鎰忥紝褰撲竴涓被鏄祵濂楃被鐨勬椂鍊欙紝瀹冨彲浠ヨ闂叾澶栧眰綾葷殑鎴愬憳銆備負(fù)浜嗕繚鐣欒繖縐嶅姛鑳斤紝閲嶆瀯榪囩▼灝嗕竴涓鍏ョ被 BagExample 鐨勫疄渚嬫斁鍦ㄥ墠闈㈤偅涓祵濂楃被涓傝繖灝辨槸涔嬪墠瑕佹眰鎮(zhèn)ㄨ緭鍏ュ悕縐扮殑瀹炰緥鍙橀噺銆傚悓鏃朵篃鍒涘緩浜嗙敤浜庤緗繖涓疄渚嬪彉閲忕殑鏋勯犲嚱鏁般傞噸鏋勮繃紼嬪垱寤虹殑鏂扮被 BagImpl 濡傛竻鍗?鎵紺恒?


娓呭崟 4. BagImpl 綾?/strong>
  
final class BagImpl implements Bag
{
   private final BagExample example;
   /**
    * @paramBagExample
    */
  BagImpl(BagExample example)
   {
      this.example = example;
      // TODO Auto-generated constructor stub
   }
   Object o;
   public Object get()
   {
      return o;
   }
   public void set(Object o)
   {
      this.o = o;
   }
}

濡傛灉鎮(zhèn)ㄧ殑鎯呭喌涓庤繖涓緥瀛愮浉鍚岋紝涓嶉渶瑕佷繚鐣欏 BagExample 鐨勮闂紝鎮(zhèn)ㄤ篃鍙互寰堝畨鍏ㄥ湴鍒犻櫎榪欎釜瀹炰緥鍙橀噺涓庢瀯閫犲嚱鏁幫紝灝?BagExample 綾諱腑鐨勪唬鐮佹敼鎴愮己鐪佺殑鏃犲弬鏁版瀯閫犲嚱鏁般?

鍦ㄧ被緇ф壙鍏崇郴鍐呯Щ鍔ㄦ垚鍛?/span>

榪樻湁涓や釜閲嶆瀯宸ュ叿錛孭ush Down 鍜?Pull Up錛屽垎鍒疄鐜板皢綾繪柟娉曟垨鑰呭睘鎬т粠涓涓被縐誨姩鍒板叾瀛愮被鎴栫埗綾諱腑銆傚亣璁炬?zhèn)ㄦ湁涓涓悕涓?Vehicle 鐨勬娊璞$被錛屽叾瀹氫箟濡傛竻鍗?鎵紺恒?


娓呭崟 5. 鎶借薄鐨?Vehicle 綾?/strong>
public abstract class Vehicle
{
   protected int passengers;
   protected String motor;
   
   public int getPassengers()
   {
      return passengers;
   }
   public void setPassengers(int i)
   {
      passengers = i;
   }
   public String getMotor()
   {
      return motor;
   }
   public void setMotor(String string)
   {
      motor = string;
   }
}

鎮(zhèn)ㄨ繕鏈変竴涓?Vehicle 鐨勫瓙綾伙紝綾誨悕涓?Automobile 錛屽娓呭崟6鎵紺恒?


娓呭崟6. Automobile 綾?/strong>
public class Automobile extends Vehicle
{
   private String make;
   private String model;
   public String getMake()
   {
      return make;
   }
   public String getModel()
   {
      return model;
   }
   public void setMake(String string)
   {
      make = string;
   }
   public void setModel(String string)
   {
      model = string;
   }
}

璇鋒敞鎰忥紝 Vehicle 鏈変竴涓睘鎬ф槸 motor 銆傚鏋滄?zhèn)ㄧ煡閬撴?zhèn)ㄥ皢姘歌繙鍙鐞嗘苯杞︼紝閭d箞榪欐牱鍋氬氨濂戒簡錛涗絾鏄鏋滄?zhèn)ㄤ篃鍏佽鍑虹幇鍒掕墖涔嬀c葷殑涓滆タ錛岄偅涔堟?zhèn)闇瑕佸皢 motor 灞炴т粠 Vehicle 綾諱笅鏀懼埌 Automobile 綾諱腑銆備負(fù)姝わ紝鎮(zhèn)ㄥ彲浠ュ湪 Outline 瑙嗗浘涓夋嫨 motor 錛岀劧鍚庨夋嫨 Refactor > Push Down銆?

Eclipse 榪樻槸鎸鴻仾鏄庣殑錛屽畠鐭ラ亾鎮(zhèn)ㄤ笉鍙兘鎬繪槸鍗曞崟縐誨姩鏌愪釜灞炴ф湰韜紝鍥犳榪樻彁渚涗簡 Add Required 鎸夐挳錛屼笉榪囧湪 Eclipse 2.1 涓紝榪欎釜鍔熻兘騫朵笉鎬繪槸鑳芥紜湴宸ヤ綔銆傛?zhèn)ㄩ渶瑕侀獙璇佷竴涓嬶紝鐪嬫墍鏈変緷璧栦簬榪欎釜灞炴х殑鏂規(guī)硶鏄惁閮芥帹鍒頒簡涓嬩竴灞傘傚湪鏈緥涓紝榪欐牱鐨勬柟娉曟湁涓や釜錛屽嵆涓?motor 鐩鎬即鐨?getter 鍜?setter 鏂規(guī)硶錛屽鍥?鎵紺恒?

鍥?3. 鍔犲叆鎵闇鐨勬垚鍛?/strong>
Adding required members

鍦ㄦ寜榪?OK鎸夐挳涔嬪悗錛?motor 灞炴т互鍙?getMotor() 鍜?setMotor() 鏂規(guī)硶灝變細(xì)縐誨姩鍒?Automobile 綾諱腑銆傛竻鍗?鏄劇ず浜嗗湪榪涜浜嗚繖嬈¢噸鏋勪箣鍚?Automobile 綾葷殑鎯呭艦銆?


娓呭崟 7. 緇忚繃閲嶆瀯鐨?Automobile 綾?/strong>
public class Automobile extends Vehicle
{
   private String make;
   private String model;
   protected String motor;
   public String getMake()
   {
      return make;
   }
   public String getModel()
   {
      return model;
   }
   public void setMake(String string)
   {
      make = string;
   }
   public void setModel(String string)
   {
      model = string;
   }
   public String getMotor()
   {
      return motor;
   }
   public void setMotor(String string)
   {
      motor = string;
   }
}

Pull Up 閲嶆瀯涓?Push Down 鍑犱箮鐩稿悓錛屽綋鐒?Pull Up 鏄皢綾繪垚鍛樹粠涓涓被涓Щ鍒板叾鐖剁被涓紝鑰屼笉鏄瓙綾諱腑銆傚鏋滄?zhèn)ńE嶅悗鏀瑰彉涓繪剰錛屽喅瀹氳繕鏄妸 motor 縐誨洖鍒?Vehicle 綾諱腑錛岄偅涔堟?zhèn)ㄤ篃璁笧兗?xì)鐢ㄥ埌榪欑閲嶆瀯銆傚悓鏍烽渶瑕佹彁閱掓?zhèn)ㄥQ屼竴瀹氳紜鎮(zhèn)ㄦ槸鍚﹂夋嫨浜嗘墍鏈夊繀闇鐨勬垚鍛樸?

Automobile 綾諱腑鍏鋒湁鎴愬憳 motor錛岃繖鎰忓懗鐫鎮(zhèn)ㄥ鏋滃垱寤哄彟涓涓瓙綾伙紝姣旀柟璇?Bus 錛屾?zhèn)p繕闇瑕佸皢 motor 錛堝強(qiáng)鍏剁浉鍏蟲柟娉曪級(jí)鍔犲叆鍒?Bus 綾諱腑銆傛湁涓縐嶆柟娉曞彲浠ヨ〃紺鴻繖縐嶅叧緋伙紝鍗沖垱寤轟竴涓悕涓?Motorized 鐨勬帴鍙o紝 Automobile 鍜?Bus 閮藉疄鐜拌繖涓帴鍙o紝浣嗘槸 RowBoat 涓嶅疄鐜般?

鍒涘緩 Motorized 鎺ュ彛鏈綆鍗曠殑鏂規(guī)硶鏄湪 Automobile 涓婁嬌鐢?Extract Interface 閲嶆瀯銆備負(fù)姝わ紝鎮(zhèn)ㄥ彲浠ュ湪 Outline 瑙嗗浘涓夋嫨 Automobile 錛岀劧鍚庝粠鑿滃崟涓夋嫨 Refactor > Extract Interface銆傛?zhèn)ㄥ彲浠ュ湪寮瑰嚭鐨勫璇濇涓夋嫨鎮(zhèn)ㄥ笇鏈涘湪鎺ュ彛涓寘鍚摢浜涙柟娉曪紝濡傚浘4鎵紺恒?

鍥?4. 鎻愬彇 Motorized 鎺ュ彛
Motorized interface

鐐瑰嚮 OK 涔嬪悗錛屾帴鍙e氨鍒涘緩濂戒簡錛屽娓呭崟8鎵紺恒?/p>
娓呭崟 8. Motorized 鎺ュ彛
public interface Motorized
{
   public abstract String getMotor();
   public abstract void setMotor(String string);
}

鍚屾椂錛?Automobile 鐨勭被澹版槑涔熷彉鎴愪簡涓嬮潰鐨勬牱瀛愶細(xì)

public class Automobile extends Vehicle implements Motorized

浣跨敤鐖剁被

鏈噸鏋勫伐鍏風(fēng)被鍨嬩腑鏈鍚庝竴涓槸 User Supertyp Where Possible銆傛兂璞′竴涓敤鏉ョ鐞嗘苯杞︾粏甯愮殑搴旂敤紼嬪簭銆傚畠鑷鑷崇粓閮戒嬌鐢?Automobile 綾誨瀷鐨勫璞°傚鏋滄?zhèn)ㄦ儧_鐞嗘墍鏈夌被鍨嬬殑浜ら氬伐鍏鳳紝閭d箞鎮(zhèn)ㄥ氨鍙互鐢ㄨ繖縐嶉噸鏋勫皢鎵鏈夊 Automobile 鐨勫紩鐢ㄩ兘鍙樻垚瀵?Vehicle 鐨勫紩鐢紙鍙傜湅鍥?錛夈傚鏋滄?zhèn)ㄥ湪浠g爜涓?instanceof 鎿嶄綔鎵ц浜嗕換浣曠被鍨嬫鏌ョ殑璇濓紝鎮(zhèn)ㄥ皢闇瑕佸喅瀹氬湪榪欎簺鍦版柟閫傜敤鐨勬槸鍘熷厛鐨勭被榪樻槸鐖剁被錛岀劧鍚庨変腑絎竴涓夐」“Use the selected supertype in 'instanceof' expressions”銆?

鍥?5. 灝?Automobile 鏀規(guī)垚鍏剁埗綾?Vehicle
Supertype

浣跨敤鐖剁被鐨勯渶姹傚湪 Java 璇█涓粡甯稿嚭鐜幫紝鐗瑰埆鏄湪浣跨敤浜?Factory Method 妯″紡鐨勬儏鍐典笅銆傝繖縐嶆ā寮忕殑鍏稿瀷瀹炵幇鏂瑰紡鏄垱寤轟竴涓娊璞$被錛屽叾涓叿鏈夐潤鎬佹柟娉?create() 錛岃繖涓柟娉曡繑鍥炵殑鏄疄鐜頒簡榪欎釜鎶借薄綾葷殑涓涓叿浣撳璞°傚鏋滈渶鍒涘緩鐨勫叿浣撳璞$殑綾誨瀷渚濊禆浜庡疄鐜扮殑緇嗚妭錛岃岃皟鐢ㄧ被瀵瑰疄鐜扮粏鑺傚茍涓嶆劅鍏磋叮鐨勬儏鍐典笅錛屽彲浠ヤ嬌鐢ㄨ繖涓妯″紡銆?


鏀瑰彉綾誨唴閮ㄧ殑浠g爜

鏈澶т竴綾婚噸鏋勬槸瀹炵幇浜嗙被鍐呴儴浠g爜閲嶇粍鐨勯噸鏋勬柟娉曘傚湪鎵鏈夌殑閲嶆瀯鏂規(guī)硶涓紝鍙湁榪欑被鏂規(guī)硶鍏佽鎮(zhèn)ㄥ紩鍏ユ垨鑰呯Щ闄や腑闂村彉閲忥紝鏍規(guī)嵁鍘熸湁鏂規(guī)硶涓殑閮ㄥ垎浠g爜鍒涘緩鏂版柟娉曪紝浠ュ強(qiáng)涓哄睘鎬у垱寤?getter 鍜?setter 鏂規(guī)硶銆?/p>

鎻愬彇涓庡唴宓?/span>

鏈変竴浜涢噸鏋勬柟娉曟槸浠?Extract 榪欎釜璇嶅紑澶寸殑錛欵xtract Method銆丒xtract Local Variable 浠ュ強(qiáng)Extract Constants銆傜涓涓?Extract Method 鐨勬剰鎬濇?zhèn)ㄥ彲鑳藉凡缁忕寽鍒颁簡锛屽畠鏍规嵁鎮(zhèn)ㄩ変腑鐨勪唬鐮佸垱寤烘柊鐨勬柟娉曘傛垜浠互娓呭崟8涓偅涓被鐨?main() 鏂規(guī)硶涓轟緥銆傚畠棣栧厛鍙栧緱鍛戒護(hù)琛岄夐」鐨勫鹼紝濡傛灉鏈変互 -D 寮澶寸殑閫夐」錛屽氨灝嗗叾浠ュ悕-鍊煎鐨勫艦寮忓瓨鍌ㄥ湪涓涓?Properties 瀵硅薄涓?


娓呭崟 8. main()
import java.util.Properties;
import java.util.StringTokenizer;
public class StartApp
{
   public static void main(String[] args)
   {
      Properties props = new Properties();
      for (int i= 0; i < args.length; i++)
      {
         if(args[i].startsWith("-D"))
         {
           String s = args[i].substring(2);
           StringTokenizer st = new StringTokenizer(s, "=");
            if(st.countTokens() == 2)
            {
              props.setProperty(st.nextToken(), st.nextToken());
            }
         }
      }
      //continue...
   }
}

灝嗕竴閮ㄥ垎浠g爜浠庝竴涓柟娉曚腑鍙栧嚭騫舵斁榪涘彟涓涓柟娉曚腑鐨勫師鍥犱富瑕佹湁涓ょ銆傜涓縐嶅師鍥犳槸榪欎釜鏂規(guī)硶澶暱錛屽茍涓斿畬鎴愪簡涓や釜浠ヤ笂閫昏緫涓婃埅鐒朵笉鍚岀殑鎿嶄綔銆傦紙鎴戜滑涓嶇煡閬撲笂闈㈤偅涓?main() 鏂規(guī)硶榪樿澶勭悊鍝簺涓滆タ錛屼絾鏄粠鐜板湪鎺屾彙鐨勮瘉鎹潵鐪嬶紝榪欎笉鏄粠鍏朵腑鎻愬彇鍑轟竴涓柟娉曠殑鐞嗙敱銆傦級(jí)鍙︿竴縐嶅師鍥犳槸鏈変竴孌甸昏緫涓婃竻鏅扮殑浠g爜錛岃繖孌典唬鐮佸彲浠ヨ鍏朵粬鏂規(guī)硶閲嶇敤銆傛瘮鏂硅鍦ㄦ煇浜涙椂鍊欙紝鎮(zhèn)ㄥ彂鐜拌嚜宸卞湪寰堝涓嶅悓鐨勬柟娉曚腑閮介噸澶嶇紪鍐欎簡鐩稿悓鐨勫嚑琛屼唬鐮併傞偅灝辨湁鍙兘鏄渶瑕侀噸鏋勭殑鍘熷洜浜嗭紝涓嶈繃闄ら潪鐪熺殑闇瑕侀噸鐢ㄨ繖閮ㄥ垎浠g爜錛屽惁鍒欐?zhèn)ㄥ緢鍙兘迤堜笉浼?xì)鎵ц閲嶆瀯銆?

鍋囪鎮(zhèn)ㄨ繕闇瑕佸湪鍙﹀涓涓湴鏂硅В鏋愬悕-鍊煎錛屽茍灝嗗叾鏀懼湪 Properties 瀵硅薄涓紝閭d箞鎮(zhèn)ㄥ彲浠ュ皢鍖呭惈 StringTokenizer 澹版槑鍜屼笅闈㈢殑 if 璇彞鐨勮繖孌典唬鐮佹娊鍙栧嚭鏉ャ備負(fù)姝わ紝鎮(zhèn)ㄥ彲浠ラ珮浜変腑榪欐浠g爜錛岀劧鍚庝粠鑿滃崟涓夋嫨 Refactor > Extract Method銆傛?zhèn)ㄩ渶瑕佽緭鍏ユ柟娉曞悕縐幫紝榪欓噷杈撳叆 addProperty 錛岀劧鍚庨獙璇佽繖涓柟娉曠殑涓や釜鍙傛暟錛?Properties prop 鍜?Strings 銆傛竻鍗?鏄劇ず鐢?Eclipse 鎻愬彇浜?addProp() 鏂規(guī)硶涔嬪悗綾葷殑鎯呭喌銆?


娓呭崟 9. 鎻愬彇鍑烘潵鐨?addProp()
import java.util.Properties;
import java.util.StringTokenizer;
public class Extract
{
   public static void main(String[] args)
   {
      Properties props = new Properties();
      for (int i = 0; i < args.length; i++)
      {
         if (args[i].startsWith("-D"))
         {
            String s = args[i].substring(2);
            addProp(props, s);
         }
      }
   }
   private static void addProp(Properties props, String s)
   {
      StringTokenizer st = new StringTokenizer(s, "=");
      if (st.countTokens() == 2)
      {
         props.setProperty(st.nextToken(), st.nextToken());
      }
   }
}

Extract Local Variable 閲嶆瀯鍙栧嚭涓孌佃鐩存帴浣跨敤鐨勮〃杈懼紡錛岀劧鍚庡皢榪欎釜琛ㄨ揪寮忛鍏堣祴鍊肩粰涓涓眬閮ㄥ彉閲忋傜劧鍚庡湪鍘熷厛浣跨敤閭d釜琛ㄨ揪寮忕殑鍦版柟浣跨敤榪欎釜鍙橀噺銆傛瘮鏂硅錛屽湪涓婇潰鐨勬柟娉曚腑錛屾?zhèn)ㄥ彲浠ラ珮浜変腑瀵?st.nextToken() 鐨勭涓嬈¤皟鐢紝鐒跺悗閫夋嫨 Refactor > Extract Local Variable銆傛?zhèn)畣琚彁绀鸿緭鍏ヤ竴涓彉閲忓悕縐幫紝榪欓噷杈撳叆 key 銆傝娉ㄦ剰錛岃繖閲屾湁涓涓皢琚変腑琛ㄨ揪寮忔墍鏈夊嚭鐜扮殑鍦版柟閮芥浛鎹㈡垚鏂板彉閲忕殑寮曠敤鐨勯夐」銆傝繖涓夐」閫氬父鏄傜敤鐨勶紝浣嗘槸瀵硅繖閲岀殑 nextToken() 鏂規(guī)硶涓嶉傜敤錛屽洜涓鴻繖涓柟娉曪紙鏄劇劧錛夊湪姣忎竴嬈¤皟鐢ㄧ殑鏃跺欓兘榪斿洖涓嶅悓鐨勫箋傜‘璁よ繖涓夐」鏈閫変腑銆傚弬瑙佸浘6銆?

鍥?6. 涓嶅叏閮ㄦ浛鎹㈡墍閫夌殑琛ㄨ揪寮?/strong>
Extract variable

鎺ヤ笅鏉ワ紝鍦ㄧ浜屾璋冪敤 st.nextToken() 鐨勫湴鏂歸噸澶嶈繘琛岄噸鏋勶紝榪欎竴嬈¤皟鐢ㄧ殑鏄竴涓柊鐨勫眬閮ㄥ彉閲?value 銆傛竻鍗?0鏄劇ず浜嗚繖涓ゆ閲嶆瀯涔嬪悗浠g爜鐨勬儏褰€?


娓呭崟 10. 閲嶆瀯涔嬪悗鐨勪唬鐮?/strong>
private static void addProp(Properties props, String s)
   {
     StringTokenizer st = new StringTokenizer(s, "=");
      if(st.countTokens() == 2)
      {
         String key = st.nextToken();
         String value = st.nextToken();
        props.setProperty(key, value);
      }
   }

鐢ㄨ繖縐嶆柟寮忓紩鍏ュ彉閲忔湁鍑犵偣濂藉銆傞鍏堬紝閫氳繃涓鴻〃杈懼紡鎻愪緵鏈夋剰涔夌殑鍚嶇О錛屽彲浠ヤ嬌寰椾唬鐮佹墽琛岀殑浠誨姟鏇村姞娓呮櫚銆傜浜岋紝浠g爜璋冭瘯鍙樺緱鏇村鏄擄紝鍥犱負(fù)鎴戜滑鍙互寰堝鏄撳湴媯(gè)鏌ヨ〃杈懼紡榪斿洖鐨勫箋傛渶鍚庯紝鍦ㄥ彲浠ョ敤涓涓彉閲忔浛鎹㈠悓涓琛ㄨ揪寮忕殑澶氫釜瀹炰緥鐨勬儏鍐典笅錛屾晥鐜囧皢澶уぇ鎻愰珮銆?/p>

Extract Constant 涓?Extract Local Variable 鐩鎬技錛屼絾鏄?zhèn)ㄥ繀椤婚夋嫨闈欐佸父閲忚〃杈懼紡錛岄噸鏋勫伐鍏峰皢浼?xì)鎶婂畠铦{鎹㈡垚闈欐佺殑 final 甯擱噺銆傝繖鍦ㄥ皢紜紪鐮佺殑鏁板瓧鍜屽瓧絎︿覆浠庝唬鐮佷腑鍘婚櫎鐨勬椂鍊欓潪甯告湁鐢ㄣ傛瘮鏂硅錛屽湪涓婇潰鐨勪唬鐮佷腑鎴戜滑鐢?#8220;-D”榪欎竴鍛戒護(hù)琛岄夐」鏉ュ畾涔夊悕-鍊煎銆傚厛灝?#8220;-D”楂樹寒閫変腑錛岄夋嫨 Refactor > Extract Constant錛岀劧鍚庤緭鍏?DEFINE 浣滀負(fù)甯擱噺鐨勫悕縐般傞噸鏋勪箣鍚庣殑浠g爜濡傛竻鍗?1鎵紺猴細(xì)


娓呭崟 11. 閲嶆瀯涔嬪悗鐨勪唬鐮?/strong>
public class Extract
{
   private static final String DEFINE = "-D";
   public static void main(String[] args)
   {
      Properties props = new Properties();
      for (int i = 0; i < args.length; i++)
      {
         if (args[i].startsWith(DEFINE))
         {
            String s = args[i].substring(2);
            addProp(props, s);
         }
      }
   }
   // ...

瀵逛簬姣忎竴縐?Extract... 綾葷殑閲嶆瀯錛岄兘瀛樺湪瀵瑰簲鐨?Inline... 閲嶆瀯錛屾墽琛屼笌涔嬬浉鍙嶇殑鎿嶄綔銆傛瘮鏂硅錛屽鏋滄?zhèn)ㄩ珮浜変腑涓婇潰浠g爜涓殑鍙橀噺 s錛岄夋嫨 Refactor > Inline...錛岀劧鍚庣偣鍑?OK錛孍clipse 灝變細(xì)鍦ㄨ皟鐢?addProp() 鐨勬椂鍊欑洿鎺ヤ嬌鐢?args[i].substring(2) 榪欎釜琛ㄨ揪寮忥紝濡備笅鎵紺猴細(xì)

        if(args[i].startsWith(DEFINE))
         {
            addProp(props,args[i].substring(2));
         }

榪欐牱姣斾嬌鐢ㄤ復(fù)鏃跺彉閲忔晥鐜囨洿楂橈紝浠g爜涔熷彉寰楁洿鍔犵畝瑕侊紝鑷充簬榪欐牱鐨勪唬鐮佹槸鏄撹榪樻槸鍚販錛屽氨鍙栧喅浜庢?zhèn)ㄧ殑瑙傜偣浜嗐備笉榪囦竴鑸鏉ワ紝榪欐牱鐨勫唴宓岄噸鏋勬病浠涔堝煎緱鎺ㄨ崘鐨勫湴鏂廣?/p>

鎮(zhèn)ㄥ彲浠ユ寜鐓х敤鍐呭祵琛ㄨ揪寮忔浛鎹㈠彉閲忕殑鐩稿悓鏂規(guī)硶錛岄珮浜変腑鏂規(guī)硶鍚嶏紝鎴栬呴潤鎬?final 甯擱噺錛岀劧鍚庝粠鑿滃崟涓夋嫨 Refactor > Inline...錛孍clipse 灝變細(xì)鐢ㄦ柟娉曠殑浠g爜鏇挎崲鏂規(guī)硶璋冪敤錛屾垨鑰呯敤甯擱噺鐨勫兼浛鎹㈠甯擱噺鐨勫紩鐢ㄣ?

灝佽灞炴?/span>

閫氬父鎴戜滑璁や負(fù)灝嗗璞$殑鍐呴儴緇撴瀯鏆撮湶鍑烘潵鏄竴縐嶄笉濂界殑鍋氭硶銆傝繖涔熸鏄?Vehicle 綾誨強(qiáng)鍏跺瓙綾婚兘鍏鋒湁 private 鎴栬?protected 灞炴э紝鑰岀敤 public setter 鍜?getter 鏂規(guī)硶鏉ヨ闂睘鎬х殑鍘熷洜銆傝繖浜涙柟娉曞彲浠ョ敤涓ょ涓嶅悓鐨勬柟寮忚嚜鍔ㄧ敓鎴愩?

絎竴縐嶇敓鎴愯繖浜涙柟娉曠殑鏂瑰紡鏄嬌鐢?Source > Generate Getter and Setter 鑿滃崟銆傝繖灝嗕細(xì)鏄劇ず涓涓璇濇錛屽叾涓寘鍚墍鏈夊皻鏈瓨鍦ㄧ殑 getter 鍜?setter 鏂規(guī)硶銆備笉榪囧洜涓鴻繖縐嶆柟寮忔病鏈夌敤鏂版柟娉曟洿鏂板榪欎簺灞炴х殑寮曠敤錛屾墍浠ュ茍涓嶇畻鏄噸鏋勶紱蹇呰鐨勬椂鍊欙紝鎮(zhèn)ㄥ繀欏昏嚜宸卞畬鎴愭洿鏂板紩鐢ㄧ殑宸ヤ綔銆傝繖縐嶆柟寮忓彲浠ヨ妭綰﹀緢澶氭椂闂達(dá)紝浣嗘槸鏈濂芥槸鍦ㄤ竴寮濮嬪垱寤虹被鐨勬椂鍊欙紝鎴栬呮槸鍚戠被涓姞鍏ユ柊灞炴х殑鏃跺欎嬌鐢紝鍥犱負(fù)榪欎簺鏃跺欒繕涓嶅瓨鍦ㄥ灞炴х殑寮曠敤錛屾墍浠ヤ笉闇瑕佸啀淇敼鍏朵粬浠g爜銆?

絎簩縐嶇敓鎴?getter 鍜?setter 鏂規(guī)硶鐨勬柟寮忔槸閫変腑鏌愪釜灞炴э紝鐒跺悗浠庤彍鍗曚腑閫夋嫨 Refactor > Encapsulate Field銆傝繖縐嶆柟寮忎竴嬈″彧鑳戒負(fù)涓涓睘鎬х敓鎴?getter 鍜?setter 鏂規(guī)硶錛屼笉榪囧畠涓?Source > Generate Getter and Setter 鐩稿弽錛屽彲浠ュ皢瀵硅繖涓睘鎬х殑寮曠敤鏀瑰彉鎴愬鏂版柟娉曠殑璋冪敤銆?

渚嬪錛屾垜浠彲浠ュ厛鍒涘緩涓涓柊鐨勭畝鐗?Automobile 綾伙紝濡傛竻鍗?2鎵紺恒?


娓呭崟 12. 綆鍗曠殑 Automobile 綾?/strong>
public class Automobile extends Vehicle
{
   public String make;
   public String model;
}

鎺ヤ笅鏉ワ紝鍒涘緩涓涓被瀹炰緥鍖栦簡 Automobile 鐨勭被錛屽茍鐩存帴璁塊棶 make 灞炴э紝濡傛竻鍗?3鎵紺恒?


娓呭崟 13. 瀹炰緥鍖?Automobile
public class AutomobileTest
{
   public void race()
   {
      Automobilecar1 = new Automobile();
      car1.make= "Austin Healy";
      car1.model= "Sprite";
      // ...
   }
}

鐜板湪灝佽 make 灞炴с傚厛楂樹寒閫変腑灞炴у悕縐幫紝鐒跺悗閫夋嫨 Refactor > Encapsulate Field銆傚湪寮瑰嚭鐨勫璇濇涓緭鍏?getter 鍜?setter 鏂規(guī)硶鐨勫悕縐?#8212;—濡傛?zhèn)ㄦ墍鏂欙紝緙虹渷鐨勬柟娉曞悕縐板垎鍒槸 getMake() 鍜?setMake()銆傛?zhèn)ㄤ篃鍙互閫夋嫨涓庤繖涓睘鎬у鍦ㄥ悓涓涓被涓殑鏂規(guī)硶鏄戶緇洿鎺ヨ闂灞炴э紝榪樻槸鍍忓叾浠栫被閭f牱鏀圭敤榪欎簺璁塊棶鏂規(guī)硶銆傦紙鏈変竴浜涗漢闈炲父鍊懼悜浜庝嬌鐢ㄨ繖涓ょ鏂瑰紡鐨勬煇涓縐嶏紝涓嶈繃紕板閥鍦ㄨ繖縐嶆儏鍐典笅鎮(zhèn)ㄩ夋嫨鍝竴縐嶆柟寮忛兘娌℃湁鍖哄埆錛屽洜涓?Automobile 涓病鏈夊 make 灞炴х殑寮曠敤銆傦級(jí)

鍥?. 灝佽灞炴?/strong>
Encapsulating a field

鐐瑰嚮 OK涔嬪悗錛?Automobile 綾諱腑鐨?make 灞炴у氨鍙樻垚浜嗙鏈夊睘鎬э紝涔熷悓鏃跺叿鏈変簡 getMake() 鍜?setMake() 鏂規(guī)硶銆?

>


娓呭崟 14. 緇忚繃閲嶆瀯鐨?Automobile 綾?/strong>
public class Automobile extends Vehicle
{
   private String make;
   public String model;
   public void setMake(String make)
   {
      this.make = make;
   }
   public String getMake()
   {
      return make;
   }
}

AutomobileTest 綾諱篃瑕佽繘琛屾洿鏂幫紝浠ヤ究浣跨敤鏂扮殑璁塊棶鏂規(guī)硶錛屽娓呭崟15鎵紺恒?


>娓呭崟 15. AutomobileTest 綾?/strong>
public class AutomobileTest
{
   public void race()
   {
      Automobilecar1 = new Automobile();
      car1.setMake("Austin Healy");
      car1.model= "Sprite";
      // ...
   }
}

鏀瑰彉鏂規(guī)硶鐨勭鍚?/span>

鏈枃浠嬬粛鐨勬渶鍚庝竴涓噸鏋勬柟娉曚篃鏄渶闅句互浣跨敤鐨勬柟娉曪細(xì)Change Method Signature錛堟敼鍙樻柟娉曠殑絳懼悕錛夈傝繖縐嶆柟娉曠殑鍔熻兘鏄捐屾槗瑙?#8212;—鏀瑰彉鏂規(guī)硶鐨勫弬鏁般佸彲瑙佹т互鍙?qiáng)杩斿洖鍊肩殑綾誨瀷銆傝岃繘琛岃繖鏍風(fēng)殑鏀瑰彉瀵逛簬璋冪敤榪欎釜鏂規(guī)硶鐨勫叾浠栨柟娉曟垨鑰呬唬鐮佷細(xì)浜х敓浠涔堝獎(jiǎng)鍝嶏紝灝變笉鏄偅涔堟樉鑰屾槗瑙佷簡銆傝繖涔堜篃娌℃湁浠涔堥瓟鏂廣傚鏋滀唬鐮佺殑鏀瑰彉鍦ㄨ閲嶆瀯鐨勬柟娉曞唴閮ㄥ紩鍙戜簡闂——鍙橀噺鏈畾涔夛紝鎴栬呯被鍨嬩笉鍖歸厤——閲嶆瀯鎿嶄綔灝嗗榪欎簺闂榪涜鏍囪銆傛?zhèn)ㄥ彲浠ラ夋嫨鏄帴鍙楅噸鏋勶紝紼嶅悗鏀規(guī)榪欎簺闂錛岃繕鏄彇娑堥噸鏋勩傚鏋滆繖縐嶉噸鏋勫湪鍏朵粬鐨勬柟娉曚腑寮曞彂闂錛屽氨鐩存帴蹇界暐榪欎簺闂錛屾?zhèn)ㄥ繀椤诲湪閲嶆瀯涔嬪悗浜茶嚜淇攺V?/p>

涓烘緞娓呰繖涓鐐癸紝鑰冭檻娓呭崟16涓垪鍑虹殑綾誨拰鏂規(guī)硶銆?/p>
娓呭崟 16. MethodSigExample 綾?/strong>
public class MethodSigExample
{
   public int test(String s, int i)
   {
      int x = i + s.length();
      return x;
   }
}

涓婇潰榪欎釜綾諱腑鐨?test() 鏂規(guī)硶琚彟涓涓被涓殑鏂規(guī)硶璋冪敤錛屽娓呭崟17鎵紺恒?


娓呭崟 17. callTest 鏂規(guī)硶
public void callTest()
   {
     MethodSigExample eg = new MethodSigExample();
     int r = eg.test("hello", 10);
   }

鍦ㄧ涓涓被涓珮浜変腑 test 錛岀劧鍚庨夋嫨 Refactor > Change Method Signature銆傛?zhèn)畣鐪嬪埌濡傚?鎵紺虹殑瀵硅瘽妗嗐?

鍥?8. Change Method Signature 閫夐」
Change Method Signature options

絎竴涓夐」鏄敼鍙樿鏂規(guī)硶鐨勫彲瑙佹с傚湪鏈緥涓紝灝嗗叾鏀瑰彉涓?protected 鎴栬?private錛岃繖鏍風(fēng)浜屼釜綾葷殑 callTest() 鏂規(guī)硶灝變笉鑳借闂繖涓柟娉曚簡銆傦紙濡傛灉榪欎袱涓被鍦ㄤ笉鍚岀殑鍖呬腑錛屽皢璁塊棶鏂規(guī)硶璁句負(fù)緙虹渷鍊間篃浼?xì)寮曡弹偪欐狅L(fēng)殑闂銆傦級(jí) Eclipse 鍦ㄨ繘琛岄噸鏋勭殑鏃跺欎笉浼?xì)灏啒q欎簺闂鏍囧嚭錛屾?zhèn)ㄥ彧鏈夎嚜宸遍夋嫨閫傚綋鐨勫箋?

涓嬮潰涓涓夐」鏄敼鍙樿繑鍥炲肩被鍨嬨傚鏋滃皢榪斿洖鍊兼敼涓?float 錛岃繖涓嶄細(xì)琚爣璁版垚閿欒錛屽洜涓?test() 鏂規(guī)硶榪斿洖璇彞涓殑 int 浼?xì)鑷姩铦{鎹㈡垚 float 銆傚嵆渚垮姝わ紝鍦ㄧ浜屼釜綾葷殑 callTest() 鏂規(guī)硶涓篃浼?xì)寮曡捣闂锛屽洜湄?fù) float 涓嶈兘杞崲鎴?int 銆傛?zhèn)ㄩ渶瑕佸皢 test() 鐨勮繑鍥炲兼敼涓?int 錛屾垨鑰呮槸灝?callTest() 涓殑 r 鏀逛負(fù) float 銆?

濡傛灉灝嗙涓涓弬鏁扮殑綾誨瀷浠?String 鍙樻垚 int 錛岄偅涔堜篃寰楄冭檻鐩稿悓鐨勯棶棰樸傚湪閲嶆瀯鐨勮繃紼嬩腑榪欎簺闂灝嗕細(xì)琚爣鍑猴紝鍥犱負(fù)瀹冧滑浼?xì)鍦ㄨ閲嶆瀯鐨勬栆?guī)硶鍐呴儴寮曡搗闂錛?int 涓嶅叿鏈夋柟娉?length() 銆傜劧鑰屽鏋滃皢鍏跺彉鎴?StringBuffer 錛岄棶棰樺氨涓嶄細(xì)鏍囪鍑烘潵錛屽洜涓?StringBuffer 鐨勭‘鍏鋒湁鏂規(guī)硶 length() 銆傚綋鐒惰繖浼?xì)鍦?callTest() 鏂規(guī)硶涓紩璧烽棶棰橈紝鍥犱負(fù)瀹冨湪璋冪敤 test() 鐨勬椂鍊欒繕鏄妸涓涓?String 浼犻掕繘鍘諱簡銆?

鍓嶉潰鎻愬埌榪囷紝鍦ㄩ噸鏋勫紩鍙戜簡闂鐨勬儏鍐典笅錛屼笉綆¢棶棰樻槸鍚﹁鏍囧嚭錛屾?zhèn)ㄩ兘鍙互涓涓竴涓湴淇榪欎簺闂錛屼互緇х畫涓嬪幓銆傝繕鏈変竴縐嶆柟娉曪紝灝辨槸鍏堣淇敼榪欎簺閿欒銆傚鏋滄?zhèn)ㄦ墦绠楀垹闄や笉鍐嶉渶瑕佺殑鍙傛暟 i 錛岄偅涔堝彲浠ュ厛浠庤榪涜閲嶆瀯鐨勬柟娉曚腑鍒犻櫎瀵瑰畠鐨勫紩鐢ㄣ傝繖鏍峰垹闄ゅ弬鏁扮殑榪囩▼灝辨洿鍔犻『鍒╀簡銆?

鏈鍚庝竴浠墮渶瑕佽В閲婄殑浜嬫儏鏄?Default Value 閫夐」銆傝繖涓閫夐」鍊間粎閫傜敤浜庡皢鍙傛暟鍔犲叆鏂規(guī)硶絳懼悕涓殑鎯呭喌銆傛瘮鏂硅錛屽鏋滄垜浠姞鍏ヤ簡涓涓被鍨嬩負(fù) String 鐨勫弬鏁幫紝鍙傛暟鍚嶄負(fù) n 錛屽叾緙虹渷鍊間負(fù) world 錛岄偅涔堝湪 callTest() 鏂規(guī)硶涓皟鐢?test() 鐨勪唬鐮佸氨鍙樻垚涓嬮潰鐨勬牱瀛愶細(xì)

      
         public void callTest()
   {
      MethodSigExample eg = new MethodSigExample();
      int r = eg.test("hello", 10, "world");
   }

鍦ㄨ繖鍦烘湁鍏?Change Method Signature 閲嶆瀯鐨勭湅浼煎彲鎬曠殑璁ㄨ涓紝鎴戜滑騫舵病鏈夐殣钘忓叾涓殑闂錛屼絾鍗翠竴鐩存病鏈夋彁鍒幫紝榪欑閲嶆瀯鍏跺疄鏄潪甯稿己澶х殑宸ュ叿錛屽畠鍙互鑺傜害寰堝鏃墮棿錛岄氬父鎮(zhèn)ㄥ繀欏昏繘琛屼粩緇嗙殑璁″垝鎵嶈兘鎴愬姛鍦頒嬌鐢ㄥ畠銆?/p>

apple0668 2012-04-28 15:56 鍙戣〃璇勮
]]>
瑙e喅錛欵clipse鍚姩tomcat 璁塊棶涓嶄簡 鎵嬪姩鍚姩鍙互璁塊棶http://m.tkk7.com/apple0668/archive/2011/05/09/349875.htmlapple0668apple0668Mon, 09 May 2011 14:21:00 GMThttp://m.tkk7.com/apple0668/archive/2011/05/09/349875.htmlhttp://m.tkk7.com/apple0668/comments/349875.htmlhttp://m.tkk7.com/apple0668/archive/2011/05/09/349875.html#Feedback0http://m.tkk7.com/apple0668/comments/commentRss/349875.htmlhttp://m.tkk7.com/apple0668/services/trackbacks/349875.htmlhttp://localhost:8080璁塊棶涓嶅埌銆?br /> 瑙e喅鍔炴硶錛氬湪server瑙嗗浘涓婇潰錛屽弻鍑籺omcat v6.0錛屾墦寮閰嶇疆紿楀彛錛屽湪server location涓粯璁ゆ槸閫変腑“use workspace metadata(does not modify tomcat instation)”錛屾敼鎴愰変腑絎簩欏?#8220;use tomcat installation” 鏈嶅姟restart鍗沖彲姝e父璁塊棶銆?img src ="http://m.tkk7.com/apple0668/aggbug/349875.html" width = "1" height = "1" />

apple0668 2011-05-09 22:21 鍙戣〃璇勮
]]>
IntelliJ Idea10 甯哥敤蹇嵎閿?/title><link>http://m.tkk7.com/apple0668/archive/2011/05/04/349503.html</link><dc:creator>apple0668</dc:creator><author>apple0668</author><pubDate>Wed, 04 May 2011 08:09:00 GMT</pubDate><guid>http://m.tkk7.com/apple0668/archive/2011/05/04/349503.html</guid><wfw:comment>http://m.tkk7.com/apple0668/comments/349503.html</wfw:comment><comments>http://m.tkk7.com/apple0668/archive/2011/05/04/349503.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/apple0668/comments/commentRss/349503.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/apple0668/services/trackbacks/349503.html</trackback:ping><description><![CDATA[涔?fàn)鎯簡eclipse蹇嵎閿紝鏈榪戠敤IntelliJ Idea,蹇嵎閿畬鍏ㄤ笉涓鏍鳳紝璁頒笅渚涗互鍚庡弬鑰冧嬌鐢ㄣ?br /> 蹇嵎閿涓嬶細(xì)<br /> <br /> <font style="background-color: #cce8cf">浠g爜鎻愮ず KEYMAP->Main menu->Code->Complete Code->Basic 璁劇疆蹇嵎閿瓵LT+Z 鍘熸槸ctrl+絀烘牸錛圫PACE錛?br />                   KEYMAP->Main menu->Code->Generate 璁劇疆蹇嵎閿瓵LT+Insert 鍘熸槸AlT+Shift+S Alt+鍥炶濺 瀵煎叆鍖?<br /> 鑷姩淇 Ctrl+N 鏌ユ壘綾?<br /> Ctrl+Shift+N 鏌ユ壘鏂囦歡 <br /> Ctrl+Alt+L 鏍煎紡鍖栦唬鐮?<br /> Ctrl+Alt+O 浼樺寲瀵煎叆鐨勭被鍜屽寘 <br /> Alt+Insert 鐢熸垚浠g爜(濡俫et,set鏂規(guī)硶,鏋勯犲嚱鏁扮瓑) <br /> Ctrl+E鎴栬匒lt+Shift+C 鏈榪戞洿鏀圭殑浠g爜 <br /> Ctrl+R 鏇挎崲鏂囨湰 <br /> Ctrl+F 鏌ユ壘鏂囨湰 <br /> Ctrl+Shift+Space 鑷姩琛ュ叏浠g爜 <br /> Ctrl+絀烘牸 浠g爜鎻愮ず <br /> Ctrl+Alt+Space 綾誨悕鎴栨帴鍙e悕鎻愮ず <br /> Ctrl+P 鏂規(guī)硶鍙傛暟鎻愮ず <br /> Ctrl+Shift+Alt+N 鏌ユ壘綾諱腑鐨勬柟娉曟垨鍙橀噺 <br /> Alt+Shift+C 瀵規(guī)瘮鏈榪戜慨鏀圭殑浠g爜 <br /> Shift+F6 閲嶆瀯-閲嶅懡鍚?<br /> Ctrl+Shift+鍏堜笂閿?<br /> Ctrl+X 鍒犻櫎琛?<br /> Ctrl+D 澶嶅埗琛?<br /> Ctrl+/ 鎴?Ctrl+Shift+/ 娉ㄩ噴錛?/ 鎴栬?*...*/ 錛?<br /> Ctrl+J 鑷姩浠g爜 <br /> Ctrl+E 鏈榪戞墦寮鐨勬枃浠?<br /> Ctrl+H 鏄劇ず綾葷粨鏋勫浘 <br /> Ctrl+Q 鏄劇ず娉ㄩ噴鏂囨。 <br /> Alt+1 蹇熸墦寮鎴栭殣钘忓伐紼嬮潰鏉?<br /> Alt+F1 鏌ユ壘浠g爜鎵鍦ㄤ綅緗?<br /> Alt+ left/right 鍒囨崲浠g爜瑙嗗浘 <br /> Alt+ Up/Down 鍦ㄦ柟娉曢棿蹇熺Щ鍔ㄥ畾浣?<br /> Ctrl+Alt+ left/right 榪斿洖鑷充笂嬈℃祻瑙堢殑浣嶇疆 <br /> Ctrl+Shift+Up/Down 浠g爜鍚戜笂/涓嬬Щ鍔ㄣ?<br /> F2 鎴朣hift+F2 楂樹寒閿欒鎴栬鍛婂揩閫熷畾浣?浠g爜鏍囩杈撳叆瀹屾垚鍚庯紝鎸塗ab錛岀敓鎴愪唬鐮併?濡傝緭鍏?sout",鍐嶆寜涓婽ab閿紝灝卞彲浠ヨ嚜鍔ㄧ敓鎴怱ystem.out.println(); 閫変腑鏂囨湰錛屾寜Ctrl+Shift+F7 錛岄珮浜樉紺烘墍鏈夎鏂囨湰錛屾寜Esc楂樹寒娑堝け銆?<br /> Ctrl+W 閫変腑浠g爜錛岃繛緇寜浼?xì)鏈夊叾浠栨晥鏋滈変腑鏂囨湰錛屾寜Alt+F3 錛岄愪釜寰涓嬫煡鎵劇浉鍚屾枃鏈紝騫墮珮浜樉紺恒?<br /> Ctrl+Up/Down 鍏夋爣璺寵漿鍒扮涓琛屾垨鏈鍚庝竴琛屼笅 Ctrl+B 蹇熸墦寮鍏夋爣澶勭殑綾繪垨鏂規(guī)硶</font><img src ="http://m.tkk7.com/apple0668/aggbug/349503.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/apple0668/" target="_blank">apple0668</a> 2011-05-04 16:09 <a href="http://m.tkk7.com/apple0668/archive/2011/05/04/349503.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>eclipse 鎻掍歡Properties Editorhttp://m.tkk7.com/apple0668/archive/2007/10/03/150241.htmlapple0668apple0668Wed, 03 Oct 2007 02:18:00 GMThttp://m.tkk7.com/apple0668/archive/2007/10/03/150241.htmlhttp://m.tkk7.com/apple0668/comments/150241.htmlhttp://m.tkk7.com/apple0668/archive/2007/10/03/150241.html#Feedback0http://m.tkk7.com/apple0668/comments/commentRss/150241.htmlhttp://m.tkk7.com/apple0668/services/trackbacks/150241.html闃呰鍏ㄦ枃

apple0668 2007-10-03 10:18 鍙戣〃璇勮
]]>
eclipse涓嬩嬌鐢ㄦ硾鍨嬮亣鍒伴棶棰樿В鍐沖姙娉?/title><link>http://m.tkk7.com/apple0668/archive/2007/09/17/145830.html</link><dc:creator>apple0668</dc:creator><author>apple0668</author><pubDate>Mon, 17 Sep 2007 05:50:00 GMT</pubDate><guid>http://m.tkk7.com/apple0668/archive/2007/09/17/145830.html</guid><wfw:comment>http://m.tkk7.com/apple0668/comments/145830.html</wfw:comment><comments>http://m.tkk7.com/apple0668/archive/2007/09/17/145830.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.tkk7.com/apple0668/comments/commentRss/145830.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/apple0668/services/trackbacks/145830.html</trackback:ping><description><![CDATA[     鎽樿: eclipse 3.2涓嬌鐢╦ava鐨勬硾鍨嬮亣鍒伴棶棰橈紝瑙e喅鎵嬭銆?nbsp; <a href='http://m.tkk7.com/apple0668/archive/2007/09/17/145830.html'>闃呰鍏ㄦ枃</a><img src ="http://m.tkk7.com/apple0668/aggbug/145830.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/apple0668/" target="_blank">apple0668</a> 2007-09-17 13:50 <a href="http://m.tkk7.com/apple0668/archive/2007/09/17/145830.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍦╡clipse3.3涓揩鎹烽敭闂瑙e喅鏂規(guī)硶http://m.tkk7.com/apple0668/archive/2007/09/16/145584.htmlapple0668apple0668Sun, 16 Sep 2007 12:43:00 GMThttp://m.tkk7.com/apple0668/archive/2007/09/16/145584.htmlhttp://m.tkk7.com/apple0668/comments/145584.htmlhttp://m.tkk7.com/apple0668/archive/2007/09/16/145584.html#Feedback2http://m.tkk7.com/apple0668/comments/commentRss/145584.htmlhttp://m.tkk7.com/apple0668/services/trackbacks/145584.html闃呰鍏ㄦ枃

apple0668 2007-09-16 20:43 鍙戣〃璇勮
]]>
主站蜘蛛池模板: av电影在线免费看| 亚洲看片无码在线视频| 一级美国片免费看| 亚洲高清视频一视频二视频三| 亚洲人成色99999在线观看| 日日麻批免费40分钟日本的| 亚洲人成亚洲精品| 亚洲黄色免费网址| 亚洲成a人片在线看| 色窝窝免费一区二区三区| 在线观看亚洲AV日韩A∨| 免费看片免费播放| 老牛精品亚洲成av人片| 亚洲国产高清精品线久久| 国产免费福利体检区久久| 国产v亚洲v天堂无码网站| 99re免费在线视频| 亚洲娇小性xxxx| 国产精品二区三区免费播放心| 日韩精品无码免费视频| 亚洲中文字幕无码中文字在线| 老司机69精品成免费视频| 亚洲日本视频在线观看| 在线观看免费大黄网站| WWW国产成人免费观看视频| 亚洲成a人片在线观看无码| 曰批视频免费30分钟成人| 亚洲aⅴ无码专区在线观看春色| 亚洲Av无码乱码在线播放| 日本视频免费高清一本18| 亚洲国产精品久久网午夜| 国产成人涩涩涩视频在线观看免费| 夜夜爽妓女8888视频免费观看| 亚洲国产精品va在线播放| 999国内精品永久免费观看 | 日韩va亚洲va欧洲va国产| 久久精品国产免费观看三人同眠| 亚洲国产成人精品无码区二本| 国产亚洲成人久久| 三年片在线观看免费观看高清电影| 在线亚洲精品视频|