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