首页 > 趣闻 > 正文内容

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>鈥嬶細

  1. 鈥?strong>鈥嬫姠鍦扮洏鈥?/strong>鈥嬶細鍦ㄥ爢鍐呭瓨鍒掑嚭涓撳睘绌洪棿
  2. 鈥?strong>鈥嬫悶瑁呬慨鈥?/strong>鈥嬶細璋冪敤鏋勯€犲嚱鏁板垵濮嬪寲瀵硅薄
  3. 鈥?strong>鈥嬪彂闂ㄧ墝鈥?/strong>鈥嬶細杩斿洖鍐呭瓨鍦板潃寮曠敤

锛堢獊鐒跺仠椤匡級鍝庣瓑绛夛紝鏋勯€犲嚱鏁版槸鍟ワ紵鍒€ワ紝寰€涓嬬湅...


馃洜锔?浜屻€佹墜鎶婃墜鏁欎綘new瀵硅薄锛堥檮缈昏溅鐜板満锛?/h3>

1锔忊儯 鏍囧噯濮垮娍

java澶嶅埗
// 鏈€甯哥敤鍐欐硶 鈫?寤鸿鏂版墜鐢ㄨ繖涓?/span>
Dog myDog = new Dog("闃块粍");

2锔忊儯 鍒嗘鍐欐硶

java澶嶅埗
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>鈥嬶細

  1. 闇€瑕佲€?strong>鈥嬬嫭绔嬪瓨鍦ㄢ€?/strong>鈥嬬殑瀵硅薄锛堟瘮濡傛父鎴忛噷鐨勬瘡涓€墿锛?/li>
  2. 闇€瑕佲€?strong>鈥嬩繚瀛樼姸鎬佲€?/strong>鈥嬬殑瀹炰緥锛堟瘮濡傝喘鐗╄溅鐨勫晢鍝佸垪琛級
  3. 闇€瑕佲€?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鐨勫喎鐭ヨ瘑

  1. 瀛楄妭鐮佸眰闈㈢湅锛宯ew鍏跺疄瀵瑰簲0xBB杩欎釜鎿嶄綔鐮?/li>
  2. 闃块噷鍐呴儴缁熻鏄剧ず锛?0%鐨凧ava闈㈣瘯棰橀兘娑夊強new鍏抽敭瀛?/li>
  3. 鏌愮數鍟嗙郴缁熸浘鍥犳互鐢╪ew瀵艰嚧GC鏃堕棿澧炲姞200ms锛堢湡瀹炴渚嬶紒锛?/li>
  4. 鍦ˋndroid寮€鍙戜腑锛宯ew涓€涓狝ctivity鐨勬垚鏈増鍒涘缓3涓狥ragment

锛堝皬澹拌锛夎繕璁板緱寮€澶撮偅涓场闈緥瀛愬悧锛熷叾瀹瀗ew灏卞儚娉¢潰鐨勯叡鏂欏寘鈥斺€斺€?strong>鈥嬬敤瀵逛簡鎻愰矞锛岀敤澶氫簡榻佸捀鈥?/strong>鈥嬨€備笅娆$湅鍒皀ew鐨勬椂鍊欙紝涓嶅Θ鎯虫兂锛氳繖涓璞$湡鐨勯渶瑕佺嫭绔嬪瓨鍦ㄥ悧锛熻兘涓嶈兘澶嶇敤锛熶細涓嶄細澶崰鍐呭瓨锛?/p>


鏈€鍚庣暀涓€濊€冮馃锛氫负浠€涔堝崟渚嬫ā寮忚閬垮厤鐢╪ew锛熷挶浠瘎璁哄尯瑙侊紒锛堣浆韬帍鎵嬫満锛夊搸瀵逛簡锛屽垰璇寸殑鎬ц兘鏁版嵁鏄潵鑷垜浠洟闃熷幓骞寸殑鍘嬫祴鎶ュ憡锛屼俊涓嶄俊鐢变綘~锛堢瑧锛?/p>

搜索