锘??xml version="1.0" encoding="utf-8" standalone="yes"?>日本色综合中文字幕,国产中文字幕在线视频,性高爱久久久久久久久http://www.aygfsteel.com/ayato/zh-cnThu, 19 Jun 2025 11:53:08 GMTThu, 19 Jun 2025 11:53:08 GMT60闈㈠悜瀵硅薄璁捐涔婰SPhttp://www.aygfsteel.com/ayato/archive/2006/08/03/61427.htmlit姘戝伐it姘戝伐Wed, 02 Aug 2006 16:28:00 GMThttp://www.aygfsteel.com/ayato/archive/2006/08/03/61427.htmlhttp://www.aygfsteel.com/ayato/comments/61427.htmlhttp://www.aygfsteel.com/ayato/archive/2006/08/03/61427.html#Feedback1http://www.aygfsteel.com/ayato/comments/commentRss/61427.htmlhttp://www.aygfsteel.com/ayato/services/trackbacks/61427.html聽聽聽聽聽聽鍓嶆鏃墮棿瀹屾垚鎴戠殑姣曚笟璁烘枃錛屾槸鍏充簬闈㈠悜瀵硅薄璁捐鍘熷垯鍜岃璁℃ā寮忕殑涓浜涜璁猴紝涓烘閲嶈浜哛obert C.Martin鐨勩夾glile Software Development Principles錛孭atterns and Pratices銆嬭繖鏈憲浣滐紝瀵歸潰鍚戝璞¤璁℃湁浜嗕竴涓柊鐨勮璇嗭紝鍦ㄨ繖閲屽拰澶у鍒嗕韓涓涓嬨?br />聽聽聽聽聽聽銆夾gile銆嬩竴涔︿腑鎻愬埌涓緋誨垪鐨勯潰鍚戝璞¤璁″師鍒欙紝鍏朵腑涓鏉℃槸鍙綔LSP---Liskov鏇挎崲鍘熷垯銆侺SP鏄疊arbara Liskov鍦ㄥス1988騫寸殑璁烘枃涓彁鍑虹殑錛屽叾鍐呭鏄細瀛愮被蹇呴』鑳藉瀹屽叏鏇挎崲鎺夊畠鐨勭埗綾匯侺SP鏄嬌OCP鎴愮珛鐨勬潯浠朵箣涓錛堝叧浜嶰CP鍦ㄤ互鍚庣殑鏂囩珷浼氫綔璁ㄨ錛夛紝浜岃呴兘鏄潰鍚戝璞$殑澶氭佸拰鎶借薄鐨勫熀紜銆?br />聽聽聽聽聽聽涓句釜渚嬪瓙錛屽綋鎴戜滑鏈変竴涓狢ar榪欎釜綾?/p>
public class 聽Car聽{
聽聽聽聽
聽聽聽聽
public void 聽run(){
聽聽聽聽聽聽聽聽System.out.println(
" I聽am聽running " );
聽聽聽聽}
聽聽聽聽
聽聽聽聽
public void 聽stop(){
聽聽聽聽聽聽聽聽System.out.println(
" I聽am聽stop " );
聽聽聽聽}
}

鐜板湪錛屽鏋滄湁涓涓被涓嶤ar綾繪湁鍏崇郴錛屽湪闈㈠悜瀵硅薄涓紝綾諱箣闂寸殑鍏崇郴灝辨槸緇勫悎鍜岀戶鎵褲傚綋紜畾榪欎釜綾諱負鍙﹀涓涓被鐨勪嬌鐢ㄨ呫佹嫢鏈夎呮椂灝辯敤緇勫悎錛岃濡侾erson綾諱嬌鐢–ar綾匯備嬌鐢ㄨ呯殑綾繪湁涓涓壒寰佸氨鏄繍琛屾椂澶氭佹斁鍦ㄥ畠浠箣闂存槸涓嶇鐢ㄧ殑錛岃濡侾erson鍙兘鏈変竴浜沞at銆乴augh絳夊叕鍏辨柟娉曪紝濡傛灉Person鏄疌ar鐨勫瓙綾伙紝鏍規嵁榪愯鏃跺鎬佸氨鍙互鐢–ar鏉ユ浛鎹erson錛孋ar灝辨湁寰梕at榪欎釜鏂規硶錛屾樉鐒舵槸涓嶅悎閫昏緫鐨勩?br />聽聽聽 濡傛灉紜畾鏄湁涓縐嶇壒孌婄殑Car浼氶鐨勶紝闄や簡run鍜宻top涔嬪榪樻湁涓涓猣ly鐨勬柟娉曪紝鐜板湪灝辨槸浣跨敤緇ф壙鐨勫満鍚堛?br />
publicclass聽FlyingCar聽extends聽Car聽{

聽聽聽聽
publicvoid聽fly(){
聽聽聽聽聽聽聽聽System.out.println(
"I聽am聽Fly");
聽聽聽聽}
}

铏界劧浣跨敤浜嗙戶鎵匡紝浣嗘槸紜繚鍙嶄簡LSP銆傚洜涓篊ar涓茍娌℃湁fly榪欎釜鏂規硶錛岃繍琛屾椂澶氭佷究琚牬鍧忋備負浜嗚幏寰楀鎬佹э紝灝咰ar閲嶆瀯涓烘娊璞$被錛屽湪鍏朵腑娣誨姞涓涓娊璞$殑fly鏂規硶錛屽鎬佹т究寰椾互淇濆瓨銆備絾鏄繖鏍峰仛鐨勮瘽灝辮鏄庢墍鏈塁ar鐨勬娊璞¢兘鏄細fly鐨勶紝榪欐樉鐒舵槸涓嶅悎鐞嗐備負姝わ紝搴旇鍘繪帀Car涓殑fly鏂規硶錛孋ar灝變笉鏄娊璞$被錛屽啀鐢盋ar榪欎釜鎶借薄綾繪淳鐢熷嚭鎶借薄鐨凢lyingCar錛岄噷闈㈠寘鍚玣ly鐨勬娊璞℃柟娉曘傝繖鏍鳳紝FlyingCar鎶借薄綾誨拰瀹冪殑媧劇敓綾誨氨紜繚閬靛畧浜哃SP浜嗐?br />聽聽聽聽聽聽榪樻湁涓縐嶅仛娉曪紝灝唂ly鏂規硶鎶借薄鍒頒竴涓狥lyable鎺ュ彛涓侳lyingCar鍦ㄧ戶鎵緾ar鐨勫悓鏃跺疄鐜癋lyable鎺ュ彛錛屽氨鏄錛孎lyingCar鐨勪笂綰х埗綾誨氨鏄疌ar鍜孎lyable錛屾寜鐓SP鏄畬鍏ㄥ彲浠ヨ鐩栫埗綾葷殑銆?br />
publicinterface聽Flyable聽{

聽聽聽聽
void聽fly();
}

publicclass聽FlyingCar聽extends聽Car聽implements聽Flyable聽{

聽聽聽聽
publicvoid聽fly(){
聽聽聽聽聽聽聽聽System.out.println(
"I聽am聽fly");
聽聽聽聽}
}

浣跨敤榪愯鏃跺鎬佹椂瑕佽幏寰梖ly鏂規硶蹇呴』杞瀷涓篎lyable鎺ュ彛
publicclass聽CarMain聽{

聽聽聽聽
publicstaticvoid聽main(String[]聽args)聽{
聽聽聽聽聽聽聽聽Car聽car
=new聽FlyingCar();
聽聽聽聽聽聽聽聽car.run();
聽聽聽聽聽聽聽聽car.stop();
聽聽聽聽聽聽聽聽((Flyable)car).fly();
聽聽聽聽}
}

LSP鏄寚瀵間嬌鐢ㄧ戶鎵跨殑鍑嗗垯銆傜戶鎵胯偗瀹氭槸瀛愮被娣誨姞鐖剁被鎵涓嶅叿鏈夌殑鏂版柟娉曠殑錛屾鏃惰嫢蹇界暐LSP錛屽鎬佹т究浼氬湪璁捐涓秷澶便傛墍浠ュ綋浣跨敤緇ф壙鏃訛紝涓轟簡淇濊瘉澶氭佹э紝灝遍渶瑕侀伒瀹圠SP澶氬仛涓浜涘伐浣滀簡銆?img src ="http://www.aygfsteel.com/ayato/aggbug/61427.html" width = "1" height = "1" />

]]>
Common IO瀛︿範http://www.aygfsteel.com/ayato/archive/2006/08/02/61407.htmlit姘戝伐it姘戝伐Wed, 02 Aug 2006 14:11:00 GMThttp://www.aygfsteel.com/ayato/archive/2006/08/02/61407.htmlhttp://www.aygfsteel.com/ayato/comments/61407.htmlhttp://www.aygfsteel.com/ayato/archive/2006/08/02/61407.html#Feedback0http://www.aygfsteel.com/ayato/comments/commentRss/61407.htmlhttp://www.aygfsteel.com/ayato/services/trackbacks/61407.html聽聽聽聽聽聽聽聽聽闂茶瘽璇村埌榪欙紝榪戞潵鍦ㄩ槄璇諱竴鏈叧浜嶫akarta Common鐨勪功錛屽氨鍐欎竴涓嬪叧浜嶫akarta Common榪欎竴緋誨垪宸ュ叿鐨勬枃绔犲惂銆備粈涔堟槸Jakarta Common鍛紵瀹冩槸涓緋誨垪Apache鐨勫瓙欏圭洰錛屽寘鎷珻ollections銆乆ML銆丣avaBean銆両O絳変竴緋誨垪澧炲己Java鐨勫伐鍏風被錛屽湪璁稿Apache鐨勯」鐩腑閮藉彲浠ョ湅鍒板畠浠殑韜獎錛屽Struts銆傜幇鍦ㄤ粙緇嶇殑鏄疌ommon IO錛岃繖涓寘涓昏浣縄O涓庣綉緇滀箣闂寸紪紼嬫洿鍔犳柟渚匡紝緙栫爜鏇村姞娓呮櫚銆?br />聽聽聽聽聽聽聽聽聽鍏朵腑CopyUtils鍜孖OUtils鎻愪緵涓緋誨垪闈欐佹柟娉曚嬌鍒皊tream鍜孯eader/Writer鍜孲tring涔嬮棿鐨勮漿鍙樻洿鍔犲鏄撳笇鏈涗粠涓涓狪nputStream灝嗚鍙栫殑嫻佽漿鍙樹負FileWriter鍐欏叆涓涓枃浠訛紝鍙渶瑕佷嬌鐢–opyUtils鐨刢opy鏂規硶錛岃繖涓柟娉曟湁澶氫釜閲嶈澆鐗堟湰錛岃繖閲屾帴鍙椾竴涓狪nputStream鐨勫璞″拰涓涓狥ileWriter鐨勫璞°?br />
聽聽聽聽publicvoid聽performCopying(){
聽聽聽聽聽聽聽聽Writer聽writer
=null;
聽聽聽聽聽聽聽聽InputStream聽inputStream
=null;
聽聽聽聽聽聽聽聽
try聽{
聽聽聽聽聽聽聽聽聽聽聽聽writer
=new聽FileWriter("test.dat");
聽聽聽聽聽聽聽聽聽聽聽聽inputStream
=getClass().getResourceAsStream("./test.resource");
聽聽聽聽聽聽聽聽聽聽聽聽CopyUtils.copy(inputStream,writer);
聽聽聽聽聽聽聽聽}聽
catch聽(IOException聽e)聽{
聽聽聽聽聽聽聽聽聽聽聽聽e.printStackTrace();
聽聽聽聽聽聽聽聽}
finally{
聽聽聽聽聽聽聽聽聽聽聽聽IOUtils.closeQuietly(writer);
聽聽聽聽聽聽聽聽聽聽聽聽IOUtils.closeQuietly(inputStream);
聽聽聽聽聽聽聽聽}
聽聽聽聽}

鏈鍚庡緢鏂逛究鐨勬槸錛屼嬌鐢↖OUtils鐨刢loseQuietly闈欐佹柟娉曞氨鍙互鏂逛究鍦板叧闂祫婧愩傚悓鏍峰湴錛屼粠涓涓綉緇滀笂鐨勫湴鍧涓婅幏寰楃綉欏靛唴瀹瑰埌瀛楃涓蹭篃鏄潪甯稿湴鐩磋銆?br />
聽聽聽聽publicvoid聽urlToString(){
聽聽聽聽聽聽聽聽URL聽url
=null;
聽聽聽聽聽聽聽聽InputStream聽inputStream
=null;
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽
try聽{
聽聽聽聽聽聽聽聽聽聽聽聽url
=new聽URL("http://www.21cn.com");
聽聽聽聽聽聽聽聽聽聽聽聽inputStream
=url.openStream();
聽聽聽聽聽聽聽聽聽聽聽聽String聽contents
=IOUtils.toString(inputStream);
聽聽聽聽聽聽聽聽聽聽聽聽System.out.println(contents);
聽聽聽聽聽聽聽聽}聽
catch聽(MalformedURLException聽e)聽{
聽聽聽聽聽聽聽聽聽聽聽聽e.printStackTrace();
聽聽聽聽聽聽聽聽}聽
catch聽(IOException聽e)聽{
聽聽聽聽聽聽聽聽聽聽聽聽e.printStackTrace();
聽聽聽聽聽聽聽聽}
聽聽聽聽}

浣跨敤IOUtils鐨則oString鐨勪竴涓噸杞界増鏈氨鍙互鏂逛究鍦板仛鍒頒笂榪板姛鑳姐侰ommon IO榪樻湁璁稿鏈夌敤鐨勫姛鑳斤紝鍦ㄤ互鍚庣殑鏂囩珷浼氱戶緇帰璁ㄣ?img src ="http://www.aygfsteel.com/ayato/aggbug/61407.html" width = "1" height = "1" />

]]>
主站蜘蛛池模板: 双柏县| 凌海市| 泸定县| 辉南县| 海淀区| 潢川县| 红桥区| 夏津县| 西乌| 曲阜市| 新晃| 安阳县| 凌云县| 汽车| 天镇县| 鄂托克旗| 金沙县| 云浮市| 和平县| 安陆市| 胶州市| 丹东市| 丰台区| 赞皇县| 聂拉木县| 德安县| 高清| 怀集县| 二连浩特市| 石狮市| 永宁县| 宝清县| 玉树县| 瑞金市| 临桂县| 工布江达县| 鸡泽县| 泰宁县| 莲花县| 德化县| 许昌县|