



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上Java編程面向?qū)ο箢惻c對(duì)象的關(guān)系面向?qū)ο笫且环N組件化的設(shè)計(jì)思想,OOA、OOD、OOP類與對(duì)象是整個(gè)面向?qū)ο笾凶顬榛A(chǔ)的組成單元,如果需要給劃出定義:類就是共性的集合,而對(duì)象是某一個(gè)性的產(chǎn)物;所有類實(shí)際上是用來(lái)描述一個(gè)對(duì)象的結(jié)構(gòu)。類是通過(guò)對(duì)象來(lái)使用的,而對(duì)象是通過(guò)類來(lái)創(chuàng)建的。類與對(duì)象的基本定義:在程序中,定義類,可以使用“class 類名稱”的語(yǔ)法結(jié)構(gòu)完成。而類之中的組成主要有兩點(diǎn):* Field (屬性、成員、變量),就是一推變量的集合* Method (方法、行為),此時(shí)的方法是由對(duì)象調(diào)用的。class Book/定義一個(gè)新類String title;/名字d
2、ouble price;/價(jià)格public void getInfo()/此方法將由對(duì)象調(diào)用System.out.println("名稱"+title+“價(jià)格”+price);這個(gè)類中定義了兩個(gè)屬性和一個(gè)方法(可以定義更多屬性和方法)*類雖然存在,但是類的使用,必須有對(duì)象;對(duì)象的定義格式:聲明并實(shí)例化對(duì)象:類名稱 對(duì)象名稱 = new 類名稱();分步完成:聲 明 對(duì) 象: 類名稱 對(duì)象名稱 = null;實(shí)例化對(duì)象 : 對(duì)象名稱 = new 類名稱();引用數(shù)據(jù)類型:引用數(shù)據(jù)類型最大的不同在于需要內(nèi)存的開(kāi)辟及使用,所以關(guān)鍵字 new 的主要功能就是開(kāi)辟內(nèi)存空間;即:只要引
3、用數(shù)據(jù)類型想使用,就必須使用 關(guān)鍵字 new 來(lái)開(kāi)辟空間。當(dāng)一個(gè)對(duì)象實(shí)例化之后就可以使用以下方式利用對(duì)象來(lái)操作類的結(jié)構(gòu):對(duì)象.屬性:表示要操作類中屬性內(nèi)容對(duì)象.方法():表示要調(diào)用類中的方法內(nèi)容class Book/新類String title;/名字double price;/價(jià)格public void getInfo()/此方法將由對(duì)象調(diào)用System.out.println("名稱:" + title + "t" + "價(jià)格:" + price);public class demo1public static void main
4、(String args)Book bk = new Book() ;/聲明并實(shí)例化對(duì)象bk.title = "Java開(kāi)發(fā)" ;/title屬性的操作bk.price = 89.9 ;/操作屬性內(nèi)容bk.getInfo();/調(diào)用類中的 “getInfo()”方法內(nèi)存概念:堆內(nèi)存:保存每一個(gè)對(duì)象的屬性內(nèi)容,堆內(nèi)存需要用關(guān)鍵字 new 才可以開(kāi)辟;棧內(nèi)存:保存的是一塊堆內(nèi)存的地址。簡(jiǎn)單的理解,棧內(nèi)存保存的是對(duì)象的名字;編程中的棧內(nèi)存和堆內(nèi)存的操作過(guò)程:棧內(nèi)存0xbookA堆內(nèi)存title=”,price=”Book bk = new Book() ;bk.title = &
5、quot;Java開(kāi)發(fā)" ;棧內(nèi)存0xbookA堆內(nèi)存Title=”java”price=”bk.price = 89.9 ;棧內(nèi)存0xbookA堆內(nèi)存Title=”java”price=”89.9”引用數(shù)據(jù)的初步分析:引用是整個(gè)Java開(kāi)發(fā)中的核心精髓所在,即:只有掌握了“引用”這一概念之后,才能加入下一步學(xué)習(xí),類似C/C+中的指針概念。在所有的引用分析里面,最關(guān)鍵的還是在于關(guān)鍵字 “new”,每一次使用關(guān)鍵字new,都會(huì)開(kāi)辟新的堆內(nèi)存空間,如果你的代碼里面聲明兩個(gè)對(duì)象,并且使用了關(guān)鍵字new為兩個(gè)對(duì)象分別實(shí)例化操作,那么一定是各自占有各自(獨(dú)立)的堆內(nèi)存空間class Book/
6、新類String title;/名字double price;/價(jià)格public void getInfo()/此方法將由對(duì)象調(diào)用System.out.println("名稱:" + title + "t" + "價(jià)格:" + price);public class demo1public static void main(String args)Book bookA = new Book() ;/聲明并實(shí)例化對(duì)象Book bookB = null ;/聲明對(duì)象bookA.title = "Java開(kāi)發(fā)" ; bo
7、okA.price = 89.9 ;bookB = bookA ;/ 引用傳遞bookB.price = 69.8 ; bookA.getInfo() ; 嚴(yán)格來(lái)說(shuō),bookA和bookB里面保存的是實(shí)例化對(duì)象的地址,所以以上的引用過(guò)程就屬于將bookA的地址賦給了bookB。由于此時(shí),兩個(gè)對(duì)象(棧內(nèi)存地址)指向的是同一個(gè)堆內(nèi)存空間;由此,任何一個(gè)對(duì)象修改了堆內(nèi)存數(shù)據(jù),那么都會(huì)影響到其它對(duì)象;在引用的過(guò)程中,一塊堆內(nèi)存可以通知被多個(gè)棧內(nèi)存所指向,但是反過(guò)來(lái),一塊棧內(nèi)存只能夠保存一塊堆內(nèi)存空間的地址。棧內(nèi)存0xbookA1XbookB堆內(nèi)存title=”,price=”Book bk = new
8、 Book();Book bookB = null ;newnull棧內(nèi)存0xbookA1XbookB堆內(nèi)存title=”java”price=89.9bookA.title=”java開(kāi)發(fā)”bookA.price=89.9newnull棧內(nèi)存0xbookA1XbookB堆內(nèi)存title=”java”price=89bookB = bookA ;new棧內(nèi)存0xbookA1XbookB堆內(nèi)存title=”java”price=69bookB.price=69.8newclass Book/新類String title;/名字double price;/價(jià)格public void getInfo
9、()/此方法將由對(duì)象調(diào)用System.out.println("名稱:" + title + "t" + "價(jià)格:" + price);public class demo1public static void main(String args)Book bookA = new Book() ;/ 聲明并實(shí)例化對(duì)象Book bookB = new Book() ;/聲明并實(shí)例化對(duì)象bookA.title = "Java開(kāi)發(fā)" ; bookA.price = 89.9 ;bookB.title = "JSP開(kāi)
10、發(fā)" ;bookB.price = 69.8 ; bookB = bookA ;/ 引用關(guān)系bookB.price = 100.10; bookA.getInfo() ; 在過(guò)程中,bookB已經(jīng)有了指向的堆內(nèi)存,所以在bookB=bookA 產(chǎn)生引用關(guān)系時(shí),bookB會(huì)自動(dòng)斷掉原先的指向(堆內(nèi)存)連接,從而指向bookA所指向的堆內(nèi)存。在Java中,沒(méi)有棧內(nèi)存指向自己的話,該內(nèi)存則屬于“垃圾”,需要丟棄。Java的垃圾回收機(jī)制>>>一塊沒(méi)有任何棧內(nèi)存指向的堆內(nèi)存空間,就將稱為“垃圾”!所有的垃圾,會(huì)不定期的被垃圾收集器(GC)進(jìn)行回收,回收之后會(huì)釋放掉其所占用的空
11、間。棧內(nèi)存0xbookA1XbookB堆內(nèi)存title=”,price=”Book bookA = new Book();Book bookB = new Book();title=”,price=”new 棧內(nèi)存0xbookA1XbookB堆內(nèi)存title=”java”price=89.9bookA.title=”java開(kāi)發(fā)”;bookA.price=89.9bookB.title = "JSP開(kāi)發(fā)" ;bookB.price = 69.8 ; title=”jsp”price=69.9new 棧內(nèi)存0xbookA1XbookB堆內(nèi)存titl
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 家居空間設(shè)計(jì)中的生活動(dòng)線優(yōu)化考核試卷
- 流動(dòng)小吃轉(zhuǎn)讓合同范本
- 酒店吧臺(tái)員工合同范本
- 吊頂合資協(xié)議合同范本
- 辦公區(qū)域清潔與維護(hù)工作計(jì)劃
- 農(nóng)村污水處理合同
- 企業(yè)增資擴(kuò)股方案及協(xié)議
- 環(huán)境保護(hù)的重要性征文
- 貨物公路運(yùn)輸合同
- 私人公寓樓房產(chǎn)轉(zhuǎn)讓合同
- CSCCP宮頸細(xì)胞病理學(xué)理論考試題
- 臨床試驗(yàn)嚴(yán)重不良事件報(bào)告表(SAE)
- 統(tǒng)編版五年級(jí)語(yǔ)文下冊(cè)第二單元習(xí)作:寫讀后感課件
- 2023年9月新《醫(yī)療器械分類目錄》-自2023年8月1日起施行
- 使用磷化鋁進(jìn)行常規(guī)熏蒸作業(yè)
- 天然氣培訓(xùn)課件
- 教學(xué)課件:《新能源材料技術(shù)》朱繼平
- 人教版部編七年級(jí)下冊(cè)語(yǔ)文必背古詩(shī)文言文
- 2022年七年級(jí)初一數(shù)學(xué)希望杯競(jìng)賽模擬真題含答案27屆
- 自動(dòng)駕駛數(shù)據(jù)安全白皮書(shū)
- 工期定額-民用建筑
評(píng)論
0/150
提交評(píng)論