精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • 求各種答案:String s=new String("xyz")究竟創(chuàng)建了幾個String Object?2個 3個?

    求各種答案:String s=new String("xyz")究竟創(chuàng)建了幾個String Object?2個 3個?
    一種說法是引用對象s 和new時候放在heap的”xyz“;
    一種說法是在編譯時候由”“建了一個xyz對象放在常量池中,后new一個放在heap,
    難道是3個?s+常量池的+new產(chǎn)生的?
    s不是對象.2個
    其他人氣:300 ℃時間:2020-10-01 00:47:12
    優(yōu)質(zhì)解答
    String s=new String("xyz")
    創(chuàng)建兩個對象,引用對象s,字符串對象"xyz";
    String s1=new String("xyz")String s=new String("xyz")
    兩個引用對象s1、s,兩個內(nèi)容相同的字符串對象"xyz",它們在內(nèi)存中的地址是不同的.
    記住,凡是用new生成的總是新對象.
    String s1 = "xyz" ;String s = "xyz";
    如果像上面這樣寫,s1、s引用的才是同一個常量池中的對象.難道編譯期間的創(chuàng)建放在常量池的xyz不是對象?在java中,一切都是對象。只是常量池的"xyz"只有一份,無論有多少個引用。如果開始在常量池中沒有xyz這個對象,你不是要新創(chuàng)建一個嗎?那就是3個啊對,可以這么理解也就是說這個答案可能有2個也可能有3個。。。。。。。。String s="xyz"; //這種方式是把"xyz"放到常量池,這是編譯時產(chǎn)生的String s=new String("xyz"); //這種方式是把"xyz"放到虛擬機(jī)的heap中,這是運(yùn)行時產(chǎn)生的舉例來說:String s1 = "xyz"; //在常量池存放一個對象String s2 = “xyz”; // s2引用常量池中的對象, 不產(chǎn)生新對象String s3 = new String("xyz"); //在虛擬機(jī)的heap中產(chǎn)生一個新的對象String s4 = new String("xyz"); //在虛擬機(jī)的heap中又產(chǎn)生一個新的對象這么說能理解了嗎?我能理解你的意思,我想問的是 new String("xyz") 應(yīng)該是這樣理解吧:我要創(chuàng)建一個值為“xyz”的對象在heap中,其中()里面的“xyz”應(yīng)該是個實(shí)際參數(shù)吧,那么作為實(shí)際參數(shù) 它首先應(yīng)該在編譯期間就放在常量池中,如果有就不創(chuàng)建,沒有就創(chuàng)建一個新的“xyz”對象。是否?是的今天看了下java編程思想4s不是對象,它是句柄或者說是引用。。。。引用也是一類對象,所以說s本身也是對象。
    我來回答
    類似推薦
    請使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點(diǎn),以保證最佳閱讀效果。本頁提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權(quán)所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機(jī)版