Java中new对象的方法及常见使用场景解析
趣闻2025-05-27 12:02:53
馃 鍒氬Java鐨勪綘锛屾槸涓嶆槸缁忓父鐪嬪埌杩欐牱鐨勪唬鐮侊細User user = new User();
锛熻繖涓濂囩殑new鍒板簳鍦ㄥ共浠€涔堬紵涓轰粈涔堟垜鐓х潃鍐欏氨鎶ラ敊锛熶粖澶╁挶浠氨鎺板紑鎻夌浜嗚亰閫忓畠锛?/p>
馃殌 涓€銆乶ew鍒板簳鏄綍鏂圭鍦o紵
涓句釜鏍楀瓙馃尠锛氫綘鎯冲悆娉¢潰锛屽緱鍏堟湁锛?锛夋场闈㈠寘瑁呰锛?锛夋媶鍖呰锛?锛夊€掔儹姘淬€侸ava閲宯ew瀵硅薄灏辩被浼艰繖涓繃绋嬶細
java澶嶅埗// 鎵惧埌娉¢潰鍖呰琚?鈫?澹版槑鍙橀噺 InstantNoodles noodles; // 鎷嗗寘瑁呭€掔儹姘?鈫?new瀹炰緥鍖?/span> noodles = new InstantNoodles();
閲嶇偣鏉ヤ簡鉂楋笍鈥?strong>鈥媙ew鍋氫簡涓変欢澶т簨鈥?/strong>鈥嬶細
- 鈥?strong>鈥嬫姠鍦扮洏鈥?/strong>鈥嬶細鍦ㄥ爢鍐呭瓨鍒掑嚭涓撳睘绌洪棿
- 鈥?strong>鈥嬫悶瑁呬慨鈥?/strong>鈥嬶細璋冪敤鏋勯€犲嚱鏁板垵濮嬪寲瀵硅薄
- 鈥?strong>鈥嬪彂闂ㄧ墝鈥?/strong>鈥嬶細杩斿洖鍐呭瓨鍦板潃寮曠敤
锛堢獊鐒跺仠椤匡級鍝庣瓑绛夛紝鏋勯€犲嚱鏁版槸鍟ワ紵鍒€ワ紝寰€涓嬬湅...
馃洜锔?浜屻€佹墜鎶婃墜鏁欎綘new瀵硅薄锛堥檮缈昏溅鐜板満锛?/h3>
1锔忊儯 鏍囧噯濮垮娍
java澶嶅埗// 鏈€甯哥敤鍐欐硶 鈫?寤鸿鏂版墜鐢ㄨ繖涓?/span>
Dog myDog = new Dog("闃块粍");
2锔忊儯 鍒嗘鍐欐硶
java澶嶅埗Dog myDog; // 鍏堟嬁涓嫍缁?/span>
myDog = new Dog(); // 鍐嶅幓棰嗗吇鐙?/span>
// 鏈€甯哥敤鍐欐硶 鈫?寤鸿鏂版墜鐢ㄨ繖涓?/span>
Dog myDog = new Dog("闃块粍");
Dog myDog; // 鍏堟嬁涓嫍缁?/span>
myDog = new Dog(); // 鍐嶅幓棰嗗吇鐙?/span>
锛堝皬澹癰b锛夎櫧鐒惰繖涔堝啓涔熻锛屼絾瀹规槗鎼炲嚭绌烘寚閽堬紝鏂版墜鎱庣敤鈿狅笍
馃毇 甯歌缈昏溅妗堜緥
java澶嶅埗// 閿欒绀鸿寖1锛氭病鎷寸嫍缁冲氨鎯抽仜鐙?/span> Dog undefinedDog; undefinedDog.bark(); // 鐩存帴鎶ullPointerException // 閿欒绀鸿寖2锛氱嫍鍦堝お灏忚涓嶄笅钘忕崚 Dog tinyDog = new Dog(); tinyDog.setWeight(100); // 鍙兘寮曞彂閫昏緫寮傚父
馃挕 涓夈€佷粈涔堟椂鍊欏繀椤荤敤new锛燂紙闄勫満鏅姣旇〃锛?/h3>
鍦烘櫙 | 鐢╪ew 鉁?/th> | 涓嶇敤new 鉂?/th> | 涓句釜鏍楀瓙 |
---|---|---|---|
鍒涘缓鏂板璞?/td> | 鉁?/td> | new User() | |
璋冪敤闈欐€佹柟娉?/td> | 鉁?/td> | Math.sqrt(4) | |
瀛楃涓插垵濮嬪寲 | 鉁?/td> | new String("hello") | |
鍩烘湰绫诲瀷璧嬪€?/td> | 鉁?/td> | int age = 18 |
锛堟暡榛戞澘锛夆€?strong>鈥嬪繀椤荤敤new鐨勪笁澶у満鏅€?/strong>鈥嬶細
- 闇€瑕佲€?strong>鈥嬬嫭绔嬪瓨鍦ㄢ€?/strong>鈥嬬殑瀵硅薄锛堟瘮濡傛父鎴忛噷鐨勬瘡涓€墿锛?/li>
- 闇€瑕佲€?strong>鈥嬩繚瀛樼姸鎬佲€?/strong>鈥嬬殑瀹炰緥锛堟瘮濡傝喘鐗╄溅鐨勫晢鍝佸垪琛級
- 闇€瑕佲€?strong>鈥嬮噸鍐欐柟娉曗€?/strong>鈥嬬殑鎯呭喌锛堟瘮濡備笉鍚屽舰鐘剁殑缁樺浘宸ュ叿锛?/li>
馃敟 鍥涖€乶ew鐨勯珮绾х帺娉曪紙闄勫疄鎴樹唬鐮侊級
馃幆 缁勫悎浣跨敤妗堜緥
鍋囪鎴戜滑鍦ㄥ仛澶栧崠绯荤粺锛?/p>
java澶嶅埗class Order { // 璁㈠崟蹇呴』鍏宠仈鐢ㄦ埛 鈫?杩欓噷蹇呴』new private User user = new User(); // 璁㈠崟鍙互鏈変紭鎯犲埜 鈫?杩欓噷涓嶇敤绔嬪嵆new private Coupon coupon; }
馃挜 鎬ц兘浼樺寲濡欐嫑
锛堢獊鐒舵媿澶ц吙锛夊浜嗭紒鏈変簺鍦烘櫙鍏跺疄鍙互澶嶇敤瀵硅薄锛?/p>
java澶嶅埗// 鏅€氬啓娉曪細姣忔new閮借鑺?.3ms for(int i=0; i<1000; i++){ Date date = new Date(); } // 浼樺寲鍐欐硶锛氱渷涓?00ms锛?/span> Date reusableDate = new Date(); for(int i=0; i<1000; i++){ // 鐩存帴浣跨敤宸叉湁瀵硅薄 }
馃く 鐙瑙佽В锛氬叧浜巒ew鐨勫喎鐭ヨ瘑
- 瀛楄妭鐮佸眰闈㈢湅锛宯ew鍏跺疄瀵瑰簲
0xBB
杩欎釜鎿嶄綔鐮?/li> - 闃块噷鍐呴儴缁熻鏄剧ず锛?0%鐨凧ava闈㈣瘯棰橀兘娑夊強new鍏抽敭瀛?/li>
- 鏌愮數鍟嗙郴缁熸浘鍥犳互鐢╪ew瀵艰嚧GC鏃堕棿澧炲姞200ms锛堢湡瀹炴渚嬶紒锛?/li>
- 鍦ˋndroid寮€鍙戜腑锛宯ew涓€涓狝ctivity鐨勬垚鏈増鍒涘缓3涓狥ragment
锛堝皬澹拌锛夎繕璁板緱寮€澶撮偅涓场闈緥瀛愬悧锛熷叾瀹瀗ew灏卞儚娉¢潰鐨勯叡鏂欏寘鈥斺€斺€?strong>鈥嬬敤瀵逛簡鎻愰矞锛岀敤澶氫簡榻佸捀鈥?/strong>鈥嬨€備笅娆$湅鍒皀ew鐨勬椂鍊欙紝涓嶅Θ鎯虫兂锛氳繖涓璞$湡鐨勯渶瑕佺嫭绔嬪瓨鍦ㄥ悧锛熻兘涓嶈兘澶嶇敤锛熶細涓嶄細澶崰鍐呭瓨锛?/p>
鏈€鍚庣暀涓€濊€冮馃锛氫负浠€涔堝崟渚嬫ā寮忚閬垮厤鐢╪ew锛熷挶浠瘎璁哄尯瑙侊紒锛堣浆韬帍鎵嬫満锛夊搸瀵逛簡锛屽垰璇寸殑鎬ц兘鏁版嵁鏄潵鑷垜浠洟闃熷幓骞寸殑鍘嬫祴鎶ュ憡锛屼俊涓嶄俊鐢变綘~锛堢瑧锛?/p>