锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美精品久久一区二区,国产区精品区,爱久久·wwwhttp://www.aygfsteel.com/DuYang/category/10755.html鎷兼悘鍦ㄧ箒鍗庣殑閮藉競zh-cnFri, 02 Mar 2007 06:32:59 GMTFri, 02 Mar 2007 06:32:59 GMT60Outer Class & Inner Classhttp://www.aygfsteel.com/DuYang/articles/49496.htmlDalston.YoungDalston.YoungThu, 01 Jun 2006 03:24:00 GMThttp://www.aygfsteel.com/DuYang/articles/49496.htmlhttp://www.aygfsteel.com/DuYang/comments/49496.htmlhttp://www.aygfsteel.com/DuYang/articles/49496.html#Feedback0http://www.aygfsteel.com/DuYang/comments/commentRss/49496.htmlhttp://www.aygfsteel.com/DuYang/services/trackbacks/49496.html聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 Inner Class

a> 鍦ㄤ竴涓被涓畾涔変竴涓被錛岃繖涓被灝卞彨鍋氬唴閮ㄧ被鎴栬呭唴緗被(inner class).
b> 鍐呴儴綾誨彲浠ヨ鎴戜滑灝嗛昏緫涓婄浉鍏崇殑涓緇勭被緇勭粐璧鋒潵錛屽茍鐢卞閮ㄧ被(outer class)
聽聽 鏉ユ帶鍒跺唴閮ㄧ被鐨勫彲瑙佹?
c> 褰撴垜浠緩绔嬩竴涓猧nner class鐨勬椂鍊?鍏跺璞″氨鎷ユ湁浜嗕笌澶栭儴綾誨璞′箣闂寸殑涓縐嶅叧緋?
聽聽 榪欐槸閫氳繃涓涓壒孌婄殑this inference褰㈡垚鐨勶紝浣垮緱鍐呴儴綾誨璞″彲浠ラ殢鎰忕殑璁塊棶澶栭儴
聽聽 綾諱腑鐨勬墍鏈夋垚鍛樸?br />d> 鍦ㄥ唴閮ㄧ被涓彲浠ヨ闂閮ㄧ被鐨勭鏈夋垚鍛樺彉閲忥紝涔熷氨鏄湪鍐呴儴綾諱腑鍙互闅忔剰鐨勮闂?br />聽聽 澶栭儴綾諱腑鐨勬墍鏈夌殑鎴愬憳鏂規(guī)硶鍜屽彉閲?br />e> 鍙互鎶婂唴閮ㄧ被鏀懼埌涓涓柟娉曚腑鏉ュ畾涔夛紝浣嗘槸瀹冪殑浣跨敤鑼冨洿蹇呴』鏄湪榪欎釜鏂規(guī)硶閲?br />f> 褰撴垜浠湪涓涓柟娉曚腑瀹氫箟涓涓唴閮ㄧ被鏃訛紝濡傛灉鎴戜滑闇瑕佸湪鏂規(guī)硶涓唴閮ㄧ被鍘昏闂繖涓?br />聽聽 鏈湴鍙橀噺錛堟柟娉曚腑澹版槑鐨勫彉閲忥級鏃訛紝鎴戜滑蹇呴』鎶婅繖涓彉閲忓0鏄庝負final鎵嶈錛屼笉鐒?br />聽聽 緙栬瘧鍣ㄤ細鎶ラ敊
eg:
聽void fn(int final a)
聽{
聽聽if(true)
聽聽{
聽聽聽class Middle
聽聽聽{
聽聽聽聽private int index=70;
聽聽聽聽class Inner
聽聽聽聽{
聽聽聽聽聽private int index=60;
聽聽聽聽聽void print()
聽聽聽聽聽{
聽聽聽聽聽聽int index=80;
聽聽聽聽聽聽System.out.println(index);聽 //璁塊棶print()鏂規(guī)硶涓殑index=80鍙橀噺
聽聽聽聽聽聽System.out.println(this.index); //璁塊棶Inner綾葷殑鎴愬憳鍙橀噺index=60;
聽聽聽聽聽聽System.out.println(Middle.this.index); //璁塊棶Middle綾葷殑鎴愬憳鍙橀噺index=70;
聽聽聽聽聽聽System.out.println(Outer.this.index);聽 //璁塊棶Outer綾葷殑鎴愬憳鍙橀噺index=100;
聽聽聽聽聽}
聽聽聽聽}
聽聽聽}
聽聽}
聽}
f> 瀵逛簬Inner綾葷殑璁塊棶鏉冮檺鎴戜滑鍙互澹版槑涓烘墍鏈夌殑(protected,private,public,default)銆?br />h> 瀵逛簬鍐呴儴綾繪潵璇達紝濡傛灉璧瘋闂潈闄愪負protected錛岄偅涔堜粬鍙互鍦ㄥ悓涓涓被琚涔熷彲浠ュ湪鍚?br />聽聽 涓涓寘涓璁塊棶銆傝屽鏋滃0鏄庝負private鐨勯偅涔堥偅鍙兘鍦∣uter榪欎釜澶栭儴綾昏璁塊棶銆傛垜浠?br />聽聽 鍙互鎶婂畠鐢熷懡涓篴bstract(榪欎釜鏃跺欎笉鑳界敤Inner鐩存帴鍘誨疄渚嬪寲涓涓唴閮ㄧ被)錛屾垜浠彲浠ュ湪
聽聽 澶栭儴綾諱腑瀹氫箟涓涓被錛屼粠Inner媧劇敓鍑烘潵錛岀洿鎺ュ疄渚嬪寲銆傚綋鎴戜滑澹版槑涓篺inal錛岄偅灝變笉鑳藉啀
聽聽 媧劇敓浜嗭紝瀵逛簬鍐呴儴綾繪潵璇磋繕鍙互澹版槑涓簊tatic錛岄偅涔堣繖涓椂鍊欏氨鍙互涓嶉渶瑕佸悓鏃跺瓨鍦ㄥ閮?br />聽聽 綾葷殑瀵硅薄錛岄偅涔堣繖涓椂鍊欐垜浠篃涓嶈兘璁塊棶澶栭儴綾葷殑闈為潤鎬佺殑鎴愬憳鍙橀噺鍜屾柟娉曘傜浉褰撲簬鍒囨柇
聽聽 浜嗕笌澶栭儴鍐呭璞$殑鑱旂郴銆傞潪闈欐佺殑鍐呴儴綾諱笉鑳藉湪鍐呴儴綾繪湰韜腑瀹氫箟闈欐佺殑鏂規(guī)硶(鍙嶄箣鍙互)銆?br />聽聽 闈瀞tatic鐨勫唴閮ㄧ被涓殑鎴愬憳鍙橀噺涓嶈兘澹版槑涓簊tatic鐨勶紝鍙湪欏跺眰綾繪垨static鐨勫唴閮ㄧ被涓彲浠?br />聽聽 澹版槑涓簊tatic鐨勩?br />g> 涓轟粈涔堣浣跨敤鍐呴儴綾伙紵
聽聽 1.鍦ㄥ唴閮ㄧ被(inner class)涓彲浠ラ殢鎰忚闂閮ㄧ被涓殑鎴愬憳錛岃鎴戜滑鏇村ソ鐨勭鐞嗗拰緇勭粐鎴戜滑
聽聽 鐨勪唬鐮併傚寮轟唬鐮佺殑鍙鎬с?br />聽聽 2.鍐呴儴綾葷敤浜庡垱寤洪傞厤鍣ㄧ被,閫傞厤鍣ㄧ被鏄敤浜庡疄鐜版帴鍙g殑綾伙紝浣跨敤鍐呴儴綾繪潵瀹炵幇鎺ュ彛錛屽彲浠?br />聽聽 鏇村ソ鐨勫畾浣嶄笌鎺ュ彛鍏寵仈鐨勬柟娉曞湪浠g爜涓殑浣嶇疆銆?br />聽聽 3.鍏朵粬鐨勭敤娉?br />聽聽 a> 鎴戜滑鍙互閫氳繃鎶婂唴閮ㄧ被澹版槑涓簆rivate鏉ラ殣钘忔帴鍙g殑瀹炵幇緇嗚妭
聽聽 b> 鎴戜滑闇瑕佹淳鐢熶竴涓被錛屽悓鏃跺張闇瑕佸幓瀹炵幇涓涓帴鍙o紝濡傛灉鍩虹被涓湁涓柟娉曞拰鎺ュ彛涓殑鏂規(guī)硶
聽聽 鍚屽悕錛屼絾鏄粬浠殑鐢ㄦ硶涓嶄竴鏍鳳紝鎴戜滑灝卞彲浠ョ敤鍐呴儴綾繪潵瑙e喅銆?br />=============================================================================

鍐呴儴綾葷殑涓鑸敤娉?
class Outer聽聽聽聽聽聽聽聽聽聽聽 //Outer class
{
聽private int index=100;聽 //縐佹湁鐨勫彉閲?br />聽/*
聽class Inner聽聽聽聽聽聽聽聽聽聽 //Inner Class,independence individual
聽{聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //鍙互鏁翠綋鐨勬妸Inner綾葷湅鎴愭槸Outer綾葷殑涓涓垚鍛?br />聽聽private int index=50;
聽聽void print()
聽聽{
聽聽聽int index=30;
聽聽聽System.out.println(index);
聽聽聽System.out.println(this.index);
聽聽聽System.out.println(Outer.this.index);
聽聽}
聽}*/
聽/*
聽*Inner綾諱笉綆″祵濂楀眰嬈℃湁澶氭繁錛岄兘鍙互闅忔剰鐨勮闂閮ㄧ殑鎴愬憳鍙橀噺
聽*褰撴垜浠湪涓涓柟娉曚腑瀹氫箟涓涓唴閮ㄧ被鏃訛紝濡傛灉鎴戜滑闇瑕佸湪鏂規(guī)硶涓唴閮ㄧ被鍘昏闂繖涓?br />聽 *鏈湴鍙橀噺錛堟柟娉曚腑澹版槑鐨勫彉閲忥級鏃訛紝鎴戜滑蹇呴』鎶婅繖涓彉閲忓0鏄庝負final鎵嶈錛屼笉鐒?br />聽 *緙栬瘧鍣ㄤ細鎶ラ敊
聽void fn(final int a)
聽{
聽聽final int b=1;
聽聽if(true)
聽聽{
聽聽聽class Middle
聽聽聽{
聽聽聽聽private int index=70;
聽聽聽聽class Inner
聽聽聽聽{
聽聽聽聽聽private int index=60;
聽聽聽聽聽void print()
聽聽聽聽聽{
聽聽聽聽聽聽int index=80;
聽聽聽聽聽聽System.out.println(index);聽 //璁塊棶print()鏂規(guī)硶涓殑index=80鍙橀噺
聽聽聽聽聽聽System.out.println(this.index); //璁塊棶Inner綾葷殑鎴愬憳鍙橀噺index=60;
聽聽聽聽聽聽System.out.println(Middle.this.index); //璁塊棶Middle綾葷殑鎴愬憳鍙橀噺index=70;
聽聽聽聽聽聽System.out.println(Outer.this.index);聽 //璁塊棶Outer綾葷殑鎴愬憳鍙橀噺index=100;
聽聽聽聽聽聽System.out.println(a);
聽聽聽聽聽聽System.out.println(b);
聽聽聽聽聽}
聽聽聽聽}
聽聽聽}
聽聽}
聽}
/*
聽*鎴戜滑鍙互鎶婂唴閮ㄧ被鏀懼埌涓涓柟娉曚腑錛屼絾鏄畠鐨勪嬌鐢ㄨ寖鍥翠篃瀹氬湪浜嗚繖涓柟娉曠殑鑼冨洿閲岋紝鐢氳嚦鍙互鏀懼埌if()鍧?br />聽*浠g爜鍧椾腑{}涓紝瀹冨憡璇夋垜浠紝涓嶇鎴戜滑鎶奍nner()宓屽鏈夊娣憋紝瀹冮兘鍙互闅忔剰鐨勮闂閮ㄧ被涓殑鎵鏈夋垚鍛?br />聽 void fn()
聽 {
聽 class Inner聽聽聽聽聽聽聽聽聽聽
聽 {聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽private int index=50;
聽聽void print()
聽聽{
聽聽聽int index=30;
聽聽聽System.out.println(index);
聽聽聽System.out.println(this.index);
聽聽聽System.out.println(Outer.this.index);
聽聽}
聽 }聽 聽
聽 }
聽 */
聽 static class Inner聽聽聽聽聽聽
聽{聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
聽聽private int index=50;
聽聽void print()
聽聽{
聽聽聽聽int index=80;
聽聽聽聽System.out.println(index);聽 //璁塊棶print()鏂規(guī)硶涓殑index=80鍙橀噺
聽聽聽聽System.out.println(this.index); //璁塊棶Inner綾葷殑鎴愬憳鍙橀噺index=60;
聽聽聽聽System.out.println(Outer.this.index);聽 //璁塊棶Outer綾葷殑鎴愬憳鍙橀噺index=100;
聽聽}
聽}

聽void print()
聽{
聽聽//Inner inner=new Inner();
聽聽//inner.print();
聽}
聽/*
聽Inner getInner()
聽{
聽聽return new Inner();
聽}
聽*/
聽/*
聽public static void main(String[] args)
聽{
聽聽Outer outer=new Outer();
聽聽//outer.print();
聽聽//Inner in=outer.getInner();榪欐槸涓鍙ラ敊璇殑浠g爜錛屽洜涓篒nner鏄畾涔夊湪Outer綾葷殑鍐呴儴鐨勶紝鎵浠ュ澶栨槸
聽聽//涓嶅彲瑙佺殑錛岃繖涓椂鍊欓渶瑕佹垜浠紝浣跨敤澶栭儴綾誨悕鏉ヨ皟鐢?br />聽聽Inner in=outer.getInner(); //鍥犱負鐜板湪main()鏂規(guī)硶鍦∣uter綾婚噷錛岃繖涓椂鍊橧nner綾誨浜巑ain()鏂規(guī)硶鏉ヨ鏄彲瑙佺殑
聽聽Inner in=new Inner();
聽聽in.print();
聽}*/
}
class Test
{
聽/*public static void main(String[] args)
聽{
聽聽Outer outer=new Outer();
聽聽//outer.print();
聽聽//Inner in=outer.getInner();榪欐槸涓鍙ラ敊璇殑浠g爜錛屽洜涓篒nner鏄畾涔夊湪Outer綾葷殑鍐呴儴鐨勶紝鎵浠ュ澶栨槸
聽聽//涓嶅彲瑙佺殑錛岃繖涓椂鍊欓渶瑕佹垜浠紝浣跨敤澶栭儴綾誨悕鏉ヨ皟鐢?br />聽聽Outer.Inner in=outer.getInner();
聽聽in.print();
聽}*/
聽public static void main(String[] args)
聽{
聽聽Outer outer=new Outer();
聽聽//outer.print();
聽聽//Inner in=outer.getInner();榪欐槸涓鍙ラ敊璇殑浠g爜錛屽洜涓篒nner鏄畾涔夊湪Outer綾葷殑鍐呴儴鐨勶紝鎵浠ュ澶栨槸
聽聽//涓嶅彲瑙佺殑錛岃繖涓椂鍊欓渶瑕佹垜浠紝浣跨敤澶栭儴綾誨悕鏉ヨ皟鐢?br />聽聽//Outer.Inner in=outer.getInner();
聽聽Outer.Inner in=outer.new Inner();聽 //鐢ㄥ閮ㄧ被瀵硅薄鏉ヤ駭鐢?br />聽聽in.print();
聽}
}
*****************************************************************************

浠庡唴閮ㄧ被媧劇敓鐨勭敤娉?
/*
聽*浠庡唴閮ㄧ被媧劇敓鐨勭敤娉?br />*/
class Car
{
聽class Wheel
聽{
聽}
}
class PlaneWheel extends Car.Wheel
{
聽PlaneWheel(Car car)
聽{
聽聽car.super();聽 //寤虹珛鍐呴儴綾誨璞″埌瀛愮被鐨勫紩鐢?br />聽}
聽public static void main(String[] args)
聽{
聽聽Car car=new Car();
聽聽PlaneWheel pw=new PlaneWheel(car);
聽}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

鍐呴儴綾誨疄鐜版帴鍙?
//鐢ㄥ唴閮ㄧ被瀹炵幇鎺ュ彛,鎺ュ彛涓嶈兘琚疄渚嬪寲
interface Animal
{
聽void eat();
聽void sleep();
}
class Zoo
{
聽private class Tiger implements Animal
聽{
聽聽public void eat()
聽聽{
聽聽聽System.out.println("Tiger eat!");
聽聽}
聽聽public void sleep()
聽聽{
聽聽聽System.out.println("Tiger sleep!");
聽聽}
聽}

聽Animal getAnimal()
聽{
聽聽return new Tiger();
聽}
聽/*
聽Animal getAnimal()
聽{
聽聽return new Animal()
聽聽{聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //榪欐槸灝辨槸鍖垮悕鐨勭被
聽聽聽public void eat()
聽聽聽{
聽聽聽聽System.out.println("Animal eat!");
聽聽聽}
聽聽聽public void sleep()
聽聽聽{
聽聽聽聽System.out.println("Animal sleep!");
聽聽聽}
聽聽};聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 //榪欐槸灝辨槸鍖垮悕鐨勭被
聽}*/
}
class DoTest
{
聽public static void main(String[] args)
聽{
聽聽Zoo z=new Zoo();
聽聽Animal an=z.getAnimal();
聽聽an.eat();
聽聽an.sleep();
聽}
}
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

鍩虹被涓湁涓柟娉曞拰鎺ュ彛涓殑鏂規(guī)硶,鍚屽悕錛屼絾鏄粬浠殑鐢ㄦ硶涓嶄竴鏍?
//鍩虹被涓湁涓柟娉曞拰鎺ュ彛涓殑鏂規(guī)硶,鍚屽悕錛屼絾鏄粬浠殑鐢ㄦ硶涓嶄竴鏍?br />interface Machine
{
聽void run();
}

class Person
{
聽public void run()
聽{
聽聽System.out.println("run");
聽}
}

class Robot extends Person
{
聽private class MachineHeart implements Machine
聽{
聽聽public void run()
聽聽{
聽聽聽System.out.println("heart run");
聽聽}
聽}
聽Machine getMachine()
聽{
聽聽return new MachineHeart();
聽}
}

class Work
{
聽public static void main(String[] args)
聽{
聽聽 Robot robot=new Robot();
聽聽 Machine m=robot.getMachine();
聽聽 m.run();
聽聽 robot.run();聽聽
聽}
}



Dalston.Young 2006-06-01 11:24 鍙戣〃璇勮
]]>
嫻呰皥Java鐨凜lonehttp://www.aygfsteel.com/DuYang/articles/44918.htmlDalston.YoungDalston.YoungSun, 07 May 2006 13:52:00 GMThttp://www.aygfsteel.com/DuYang/articles/44918.htmlhttp://www.aygfsteel.com/DuYang/comments/44918.htmlhttp://www.aygfsteel.com/DuYang/articles/44918.html#Feedback1http://www.aygfsteel.com/DuYang/comments/commentRss/44918.htmlhttp://www.aygfsteel.com/DuYang/services/trackbacks/44918.html聽聽聽聽鎴戜滑鐭ラ亾鍦↗ava鍦╦ava涓紝浼犲弬鏃訛紝閮芥槸浠ヤ紶鍊肩殑褰㈠紡榪涜銆傚浜庡熀鏈暟鎹被鍨嬶紝浼犻掔殑鏄暟鎹殑鎷瘋礉錛屽浜庡紩鐢ㄧ被鍨嬶紝浼犻掔殑寮曠敤鐨勬嫹璐濄備負浜嗚幏鍙栧璞$殑涓浠芥嫹璐濓紝鎴戜滑鍙互鍒╃敤Object綾葷殑clone()鏂規(guī)硶銆傝嚦浜庢庝箞鏍鋒潵瀹炵幇Clone鎴戜滑蹇呴』鍋氫互涓嬬殑浜嬫儏:
1> 鍦ㄦ淳鐢熺被涓鐩栧熀綾葷殑clone()錛屽茍澹版槑涓簆ublic銆?br />2> 鍦ㄦ淳鐢熺被鐨刢lone()鏂規(guī)硶涓紝璋冪敤super.clone()銆?br />3> 鍦ㄦ淳鐢熺被涓疄鐜癈loneable鎺ュ彛銆?br />4> 娌℃湁鎶借薄鏂規(guī)硶鐨勬帴鍙e彨鏍囪瘑鎺ュ彛銆?br />5> 涓轟粈涔堟垜浠湪媧劇敓綾諱腑瑕嗙洊Object鐨刢lone()鏂規(guī)硶鏃訛紝涓瀹氳璋冪敤super.clone()鍛?鍦ㄨ繍琛屾椂鍒?Object
聽聽 鐨刢lone()鏂規(guī)硶鑳借瘑鍒嚭浣犺澶嶅埗鐨勬槸鍝竴涓璞★紝鐒跺悗涓烘瀵硅薄鍒嗛厤絀洪棿錛屽茍榪涜瀵硅薄鐨勫鍒訛紝灝嗗師
聽聽 濮嬪璞$殑鍐呭涓涓澶嶅埗鍒版柊鐨勫璞$┖闂村幓銆?br />鎴戜滑鐪嬩笅闈㈢殑渚嬪瓙:

class TestClone
{
聽public static void main(String[] args)
聽 聽{
聽聽聽聽聽 Animal an1=new Animal("Dog",50);
聽聽聽聽 聽Animal an2=(Animal)an1.clone();
聽聽聽聽聽聽an2.name="Fox";
聽聽聽 聽聽an2.weight=30;
聽聽聽聽 聽System.out.println(an1);
聽聽 聽}
}
class Animal implements Cloneable
{
聽聽 String name;
聽聽 int weight;
聽public Animal(String name,int weight)
聽聽 {
聽聽聽聽聽聽 this.name=name;
聽聽聽聽 聽 this.weight=weight;
聽聽 }
聽public String toString()
聽 {
聽聽聽聽聽 聽return "name="+name+","+"weight="+weight;
聽 }
聽public Object clone()
聽聽{
聽聽聽聽 Object o=null;
聽聽try
聽聽 聽{
聽聽聽聽聽 聽o=super.clone();
聽聽聽 聽}
聽聽catch(CloneNotSupportedException e)
聽聽{
聽聽聽聽聽聽 System.out.println(e.toString());
聽聽}
聽聽聽聽 聽return o;
聽 聽}
}
榪愯緇撴灉濡備笅:
F:\Java Develop>javac TestClone.java
F:\Java Develop>java TestClone
name=Dog,weight=50
鎴戜滑鐪嬪埌鎴戜滑淇敼an2鐨勫煎茍娌℃湁褰卞搷鍒癮n1閲岀殑鍊?榪欏氨鏄厠闅嗙殑浣滅敤.鏄洜涓哄湪榪欓噷閫氳繃Clone鎴戜滑鍦ㄥ唴瀛樹腑鏈?鍧楀湴鏂圭敤鏉ュ偍瀛樹笉鍚岀殑an1,an2
鎴戜滑鍦ㄧ湅涓嬮潰涓涓緥瀛?鎴戜滑鍐嶅鍔犱竴涓姩鐗╃殑楗插吇鍛樼被,鏉ョ浉鍏沖埌鍏蜂綋鐨勬瘡涓姩鐗?
class TestClone
{
聽public static void main(String[] args)
聽{
聽聽Feeder f=new Feeder("google",50);
聽聽Animal an1=new Animal("Dog",50,f);
聽聽Animal an2=(Animal)an1.clone();
聽聽an2.f.name="baidu";
聽聽an2.f.age=60;
聽聽System.out.println(an1.f.name);
聽聽System.out.println(an1.f.age);
聽}
}

/*
class Feeder implements Cloneable
{
聽String name;
聽int age;
聽public Feeder(String name,int age)
聽{
聽聽this.name=name;
聽聽this.age=age;
聽}
聽public Object clone()
聽{
聽聽Object o=null;
聽聽try
聽聽{
聽聽聽o=super.clone();
聽聽}
聽聽catch(CloneNotSupportedException e)
聽聽{
聽聽聽System.out.println(e.toString());
聽聽}
聽聽return o;
聽}
}
*/

class Feeder
{
聽String name;
聽int age;
聽public Feeder(String name,int age)
聽{
聽聽this.name=name;
聽聽this.age=age;
聽}
}

class Animal implements Cloneable
{
聽String name;
聽int weight;
聽Feeder f;
聽public Animal(String name,int weight,Feeder f)
聽{
聽聽this.name=name;
聽聽this.weight=weight;
聽聽this.f=f;
聽}
聽public String toString()
聽{
聽聽return "name="+name+","+"weight="+weight;
聽}
聽public Object clone()
聽{
聽聽Object o=null;
聽聽//Animal o=null;
聽聽try
聽聽{
聽聽聽o=super.clone();
聽聽}
聽聽catch(CloneNotSupportedException e)
聽聽{
聽聽聽System.out.println(e.toString());
聽聽}
聽聽//o.f=(Feeder)f.clone();
聽聽return o;
聽}
}
鎴戜滑鐪嬭緭鍑虹粨鏋?
F:\Java Develop>javac TestClone.java
F:\Java Develop>java TestClone
baidu
60
浠庣粨鏋滃彲浠ョ湅鍑烘潵鎴戜滑淇敼浜哸n2.f.name鍜宎n.f.age浣嗘槸an1鍘誨彂鐢熶簡鍙樺寲,榪欐槸鍥犱負鎴戜滑娌℃湁瀵笷eeder綾昏繘琛屽厠闅?榪欏氨鏄祬鍏嬮殕,涓轟簡瑙e喅榪欎釜闂鎴戜滑闇瑕佺敤鍒癉eeply鍏嬮殕,java榛樿鐨勫厠闅嗘柟寮忔槸嫻呭厠闅?
浠g爜濡備笅:
class TestClone
{
聽public static void main(String[] args)
聽{
聽聽Feeder f=new Feeder("google",50);
聽聽Animal an1=new Animal("Dog",50,f);
聽聽Animal an2=(Animal)an1.clone();
聽聽an2.f.name="baidu";
聽聽an2.f.age=60;
聽聽System.out.println(an1.f.name);
聽聽System.out.println(an1.f.age);
聽}
}

class Feeder implements Cloneable
{
聽String name;
聽int age;
聽public Feeder(String name,int age)
聽{
聽聽this.name=name;
聽聽this.age=age;
聽}
聽public Object clone()
聽{
聽聽Object o=null;
聽聽try
聽聽{
聽聽聽o=super.clone();
聽聽}
聽聽catch(CloneNotSupportedException e)
聽聽{
聽聽聽System.out.println(e.toString());
聽聽}
聽聽return o;
聽}
}

class Animal implements Cloneable
{
聽String name;
聽int weight;
聽Feeder f;
聽public Animal(String name,int weight,Feeder f)
聽{
聽聽this.name=name;
聽聽this.weight=weight;
聽聽this.f=f;
聽}
聽public String toString()
聽{
聽聽return "name="+name+","+"weight="+weight;
聽}
聽public Object clone()
聽{
聽聽//Object o=null;
聽聽Animal o=null;
聽聽try
聽聽{
聽聽聽o=(Animal)super.clone();
聽聽}
聽聽catch(CloneNotSupportedException e)
聽聽{
聽聽聽System.out.println(e.toString());
聽聽}
聽聽o.f=(Feeder)f.clone();
聽聽return o;
聽}
}
杈撳嚭緇撴灉濡備笅:
F:\Java Develop>javac TestClone.java
F:\Java Develop>java TestClone
google
50
java嫻呭厠闅嗘槸鎸嘽opy綾婚噷鎵鏈夋病鏈夊紩鐢ㄧ被鍨嬬殑鍙橀噺.Deeply Clone鍒欏垰濂界浉鍙?



Dalston.Young 2006-05-07 21:52 鍙戣〃璇勮
]]>
姝e垯琛ㄨ揪寮忓皬璋?/title><link>http://www.aygfsteel.com/DuYang/articles/44582.html</link><dc:creator>Dalston.Young</dc:creator><author>Dalston.Young</author><pubDate>Fri, 05 May 2006 00:04:00 GMT</pubDate><guid>http://www.aygfsteel.com/DuYang/articles/44582.html</guid><wfw:comment>http://www.aygfsteel.com/DuYang/comments/44582.html</wfw:comment><comments>http://www.aygfsteel.com/DuYang/articles/44582.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/DuYang/comments/commentRss/44582.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/DuYang/services/trackbacks/44582.html</trackback:ping><description><![CDATA[ <p>鍦ㄦ柊鐨凧DK涓姞鍏ヤ簡瀵逛嬌鐢ㄦ鍒欒〃杈懼紡鐨勬ā寮忓尮閰嶇殑鏀寔銆傛鍒欒〃杈懼紡鏄牴鎹枃鏈尮閰嶆ā寮忕殑鏂規(guī)硶錛嶇被浼間簬緙栬瘧鍣ㄧ敓鎴愮被鏂囦歡鐨勫伐浣滃師鐞嗐?br />鍦ㄦ鍒欒〃杈懼紡鐨勪笂涓嬫枃涓紝妯″紡鏄簭鍒楃殑鏂囨湰琛ㄧず鏂規(guī)硶銆備緥濡傦紝鎴戜滑鎯崇煡閬撲竴涓瓧絎﹀簭鍒椾腑鏄惁瀛樺湪"money"榪欎釜璇嶏紝灝卞彲浠ヤ嬌鐢ㄦā寮弇oney,<br />鍥犱負榪欐槸綺劇‘琛ㄧず璇ュ瓧絎︿覆鐨勬柟娉曘?br />聽聽 鎴戜滑榪欐牱鏉ユ楠岀敤鎴瘋緭鍏ョ殑鏄惁涓轟竴鍚堟硶鐨別mail鍦板潃:<br />Code:<br />import java.util.regex.Pattern;<br />import java.util.regex.Matcher;</p> <p>public class TestRegex<br />{<br />聽public boolean isEmail(String email)<br />聽{<br />聽聽聽聽聽聽聽聽聽聽聽聽 //鎸囧畾浣跨敤鐨勬ā寮?br />聽聽Pattern pattern=Pattern.compile<br />聽聽聽聽聽聽聽聽聽聽聽 ("<a href="file://%5C%5Cp%7BDigit%7D+@%5C%5Cw+%5C%5C.%5C%5Cp%7BAlpha%7D%7B2,3/">\\p{Digit}+@\\w+\\.\\p{Alpha}{2,3</a>}");<br />聽聽String[] words=pattern.split(email);<br />聽聽Matcher matcher=pattern.matcher(email);<br />聽聽if(matcher.find()&&words.length==0)<br />聽聽聽 return true;<br />聽聽else<br />聽聽聽 return false;<br />聽}<br />}<br />鏉ョ湅鎬庝箞鐢ㄥ畠:<br />Code:<br />public class Client<br />{<br />聽public static void main(String[] args)<br />聽{<br />聽聽TestRegex regex=new TestRegex();<br />聽聽String s1="<a href="mailto:DuYang163@gmail.com">DuYang163@gmail.com</a>";<br />聽聽String s2="<a href="mailto:feiyang@126.123.com">feiyang@126.123.com</a>";<br />聽聽System.out.println(s1+(regex.isEmail(s1)?"鏄?:"涓嶆槸")+"Email鏍煎紡!");<br />聽聽System.out.println(s2+(regex.isEmail(s2)?"鏄?:"涓嶆槸")+"Email鏍煎紡!");<br />聽}<br />}<br />涓浜涘父鐢ㄧ殑琛ㄨ揪寮忔牸寮?<br />鏂囧瓧(Literal): 琛ㄨ揪寮忓唴浠諱綍涓嶅叿鏈夌壒孌婃剰涔夌殑瀛楃閮借鐪嬪仛鏄竴涓枃瀛楋紝騫朵笌鑷韓鍖歸厤銆?br />閲忚瘝(Quantifier): 鏌愪簺瀛楃鎴栬呰〃杈懼紡錛屼粬浠鐢ㄦ潵璁$畻涓涓枃瀛楁垨鍒嗙粍鍙互瀛楃鍒椾腑鍑虹幇鐨勬鏁幫紝浠ヤ究璇ュ簭鍒椾笌琛ㄨ揪寮忓尮閰嶃?br />渚嬶細<br />? 琛ㄧず鍑虹幇涓嬈℃垨鏍規(guī)湰涓嶅嚭鐜般?br />* 琛ㄧず鍑虹幇闆舵鎴栦竴嬈′互涓?鍚竴嬈?銆?br />+ 琛ㄧず鍑虹幇涓嬈℃垨澶氭銆?br />瀛楃綾?Character class): 涓涓瓧絎︾被灝辨槸鏂規(guī)嫭鍙峰唴鐨勪竴涓瓧絎﹂泦錛屽叾涓紝鍖歸厤鍙互鏄嫭鍙峰唴鐨勪換鎰忎竴涓瓧絎︺傚彲浠ユ妸瀛楃鍜岄噺璇嶇粨鍚堣搗鏉ワ紝渚嬪錛孾acegikmoqsuwy*]<br />聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 灝嗘槸鍙寘鍚瓧姣嶈〃涓鏁板瓧姣嶇殑浠繪剰瀛楃鍒椼傛煇浜涘瓧絎﹀垪鏄鍏堝畾涔夊ソ鐨?<br />\d-鏁板瓧(0鍒?)<br />\D錛嶉潪鏁板瓧<br />\s-絀虹櫧瀛楃錛屽鍒惰〃絎︽垨鎹㈣絎?br />\S-闈炵┖鐧藉瓧絎?br />\w-鍗曞瓧絎?a鍒皕,A鍒癦,0鍒?浠ュ強涓嬪垝綰?<br />\W-闈炲崟瀛楀瓧絎?鍏朵粬浠繪剰瀛楃)<br />Posix 瀛楃綾?Posix character class): 鏌愪簺瀛楃浠呭湪鐢ㄤ簬US-ASCII姣旇緝鏃舵墠鏈夋晥銆?br />渚嬪錛?br />\p{Lower}-灝忓啓瀛楃<br />\p{Upper}-澶у啓瀛楃<br />\p{ASCII}-鎵鏈堿SCII瀛楃<br />\p{Alpha}-瀛楃瀛楃(\p{Lower}涓嶾p{Upper}鐩哥粨鍚?<br />\p{Digit}-浠?鍒?鐨勬暟瀛?br />\p{Alnum}-瀛楁瘝鏁板瓧瀛楃<br />鑼冨洿(Range): 浣跨敤鐭嚎(dash)鏉ユ寚瀹氳寖鍥淬備緥濡傦細[A-J]琛ㄧず浠嶢鍒癑鐨勫ぇ鍐欏瓧姣嶃?br />鍚﹀畾(Negation): 浣跨敤鑴卞瓧絎琛ㄧず鍚﹀畾瀛楃銆備緥濡傦細[^A-K]琛ㄧず闄鍒癒涔嬪鐨勪換浣曞瓧絎︺?/p> <img src ="http://www.aygfsteel.com/DuYang/aggbug/44582.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/DuYang/" target="_blank">Dalston.Young</a> 2006-05-05 08:04 <a href="http://www.aygfsteel.com/DuYang/articles/44582.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> 主站蜘蛛池模板: <a href="http://" target="_blank">海门市</a>| <a href="http://" target="_blank">德惠市</a>| <a href="http://" target="_blank">连云港市</a>| <a href="http://" target="_blank">曲靖市</a>| <a href="http://" target="_blank">华蓥市</a>| <a href="http://" target="_blank">九江县</a>| <a href="http://" target="_blank">西林县</a>| <a href="http://" target="_blank">贵德县</a>| <a href="http://" target="_blank">满洲里市</a>| <a href="http://" target="_blank">惠州市</a>| <a href="http://" target="_blank">米林县</a>| <a href="http://" target="_blank">黄骅市</a>| <a href="http://" target="_blank">大名县</a>| <a href="http://" target="_blank">滦平县</a>| <a href="http://" target="_blank">合作市</a>| <a href="http://" target="_blank">赤水市</a>| <a href="http://" target="_blank">孟州市</a>| <a href="http://" target="_blank">龙泉市</a>| <a href="http://" target="_blank">南昌市</a>| <a href="http://" target="_blank">静安区</a>| <a href="http://" target="_blank">和顺县</a>| <a href="http://" target="_blank">台山市</a>| <a href="http://" target="_blank">高淳县</a>| <a href="http://" target="_blank">若羌县</a>| <a href="http://" target="_blank">大方县</a>| <a href="http://" target="_blank">定远县</a>| <a href="http://" target="_blank">鄂尔多斯市</a>| <a href="http://" target="_blank">霍林郭勒市</a>| <a href="http://" target="_blank">固原市</a>| <a href="http://" target="_blank">固始县</a>| <a href="http://" target="_blank">铅山县</a>| <a href="http://" target="_blank">崇文区</a>| <a href="http://" target="_blank">即墨市</a>| <a href="http://" target="_blank">隆德县</a>| <a href="http://" target="_blank">垣曲县</a>| <a href="http://" target="_blank">惠安县</a>| <a href="http://" target="_blank">赤壁市</a>| <a href="http://" target="_blank">佛坪县</a>| <a href="http://" target="_blank">保亭</a>| <a href="http://" target="_blank">前郭尔</a>| <a href="http://" target="_blank">芒康县</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>