左側(cè)程序的運(yùn)行方式解釋?zhuān)菏紫仁怯幸粋€(gè)Car類(lèi)和 Test類(lèi),?Car類(lèi)中存放的是該類(lèi)的屬性和方法,當(dāng)Test.class加載到方法區(qū)之后開(kāi)始加載main方法,此時(shí)Car.class也加載到方法區(qū)中 隨之的還有成員變量name和price,還有成員方法,在主方法中,當(dāng)創(chuàng)建car1對(duì)象時(shí),他會(huì)現(xiàn)在棧中開(kāi)辟一個(gè)c1的對(duì)象,然后當(dāng)new這個(gè)對(duì)象的時(shí)候,會(huì)在堆內(nèi)存中再開(kāi)辟一塊空間,這個(gè)空間里存放的就是該類(lèi)的屬性和方法成員的引用地址,而引用地址就是成員方法在方法區(qū)中的地址,最后會(huì)將堆內(nèi)存中的對(duì)象空間的地址賦值給棧內(nèi)存中的c1。
那如果是兩個(gè)變量指向同一對(duì)象的情況呢?當(dāng)執(zhí)行完 Student s2 = s1這個(gè)語(yǔ)句的時(shí)候,棧內(nèi)存中會(huì)開(kāi)辟一個(gè)s2空間指向s1空間中記錄地址的堆內(nèi)存中的對(duì)象空間,因此此時(shí)當(dāng)用s2來(lái)修改內(nèi)容的時(shí)候s1中的內(nèi)容也會(huì)被修改因?yàn)檫@兩個(gè)對(duì)象指向的是同一片空間。?
P.s: Java存在自動(dòng)垃圾回收器,當(dāng)s1和s2為null的時(shí)候,此時(shí)堆內(nèi)存中的對(duì)象就沒(méi)有值也就沒(méi)有用了,此時(shí)java會(huì)自動(dòng)將其清理掉。
構(gòu)造器構(gòu)造器的作用:
無(wú)參數(shù)構(gòu)造器(默認(rèn)存在的):初始化對(duì)象時(shí),成員變量的數(shù)據(jù)均采用默認(rèn)值。初始化對(duì)象屬性,例如String類(lèi)型的就為null,Int類(lèi)型的為0..... 有參數(shù)構(gòu)造器:在初始化對(duì)象的時(shí)候,同時(shí)可以接收參數(shù)為對(duì)象進(jìn)行賦值。細(xì)節(jié):當(dāng)你定義一個(gè)類(lèi)時(shí),java會(huì)默認(rèn)自帶無(wú)參構(gòu)造器,但是當(dāng)你寫(xiě)了有參構(gòu)造器但是沒(méi)寫(xiě)無(wú)參構(gòu)造器時(shí)會(huì)報(bào)錯(cuò),因?yàn)?有參構(gòu)造器會(huì)覆蓋無(wú)參構(gòu)造器,這個(gè)時(shí)候就要自己手動(dòng)去寫(xiě)一個(gè)無(wú)參構(gòu)造了。
this關(guān)鍵字this可以出現(xiàn)在構(gòu)造器和成員方法中
this的作用:代表當(dāng)前對(duì)象的地址,誰(shuí)調(diào)用的方法用的就是誰(shuí)的地址。
l 可以用于指定訪(fǎng)問(wèn)當(dāng)前對(duì)象的成員變量、成員方法。大的作用就是區(qū)分同名變量,例如你在方法中傳遞參數(shù)的參數(shù)名與你類(lèi)中的變量名相同,但是這個(gè)時(shí)候你想將參數(shù)傳遞給對(duì)象的屬性,但是此時(shí)他會(huì)因?yàn)樽兞棵麑?duì)參數(shù)本身進(jìn)行訪(fǎng)問(wèn)。例如:
public Car(String name,double price) { price = price; name = name; }
此時(shí)你如果想通過(guò)構(gòu)造器來(lái)給對(duì)象屬性賦值的話(huà) 就會(huì)出現(xiàn)下面這種情況
Car c = new Car("奔馳",45);
因?yàn)樵谶@個(gè)構(gòu)造方法中,因?yàn)榫徒瓌t因此傳遞進(jìn)來(lái)的price不會(huì)賦值給類(lèi)中屬性的price,他只會(huì)自己訪(fǎng)問(wèn)自己一邊,因此test中打印類(lèi)中屬性為默認(rèn)值。因此我們?nèi)绻氲玫絺鬟M(jìn)來(lái)的值應(yīng)該這樣修改代碼。
public Car(String name,double price) { this.price = price; this.name = name; }
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)頁(yè)題目:面向?qū)ο蠡A(chǔ)-創(chuàng)新互聯(lián)
當(dāng)前URL:http://jinyejixie.com/article12/coedgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷(xiāo)、服務(wù)器托管、云服務(wù)器、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)