什么是對(duì)象:“一切都是對(duì)象”。我們?cè)谌粘I钪薪?jīng)常接觸到對(duì)象這個(gè)概念,比如桌子,自行車,公交車等等。
對(duì)象的三個(gè)特征:
對(duì)象的行為:這個(gè)對(duì)象能做什么,也就是能完成什么樣的功能。比如自行車可以載我們想去的地方,節(jié)省體力。
對(duì)象的狀態(tài):當(dāng)通過(guò)一個(gè)操縱對(duì)象的方法時(shí),對(duì)象所保持的一種包含特定的屬性的狀態(tài)。比如我們可以通過(guò)扭轉(zhuǎn)車頭,使自行車拐彎;剎車時(shí),可以讓自行車減速或停下來(lái)。
對(duì)象的標(biāo)識(shí)符:可以通過(guò)標(biāo)識(shí)符,區(qū)別具有相同行為或類似狀態(tài)的對(duì)象。說(shuō)到自行車,可以有很多種樣子的,很多生產(chǎn)廠家的,都可以說(shuō)是自行車,可以根據(jù)顏色,生產(chǎn)廠家等等與其它的自行車區(qū)分。
對(duì)象的句柄
對(duì)象的句柄:操縱對(duì)象的標(biāo)識(shí)符,它是指向一個(gè)對(duì)象的句柄。根據(jù)前面對(duì)變量的定義,變量名是內(nèi)存地址(棧)的一個(gè)別名,對(duì)于基本類型來(lái)講,它的值就是存放在這個(gè)內(nèi)存地址的空間內(nèi),對(duì)于對(duì)象類型來(lái)講,它的值是一個(gè)指向?qū)嶋H對(duì)象的一個(gè)地址(堆),而真正的對(duì)象是存放于堆中,我們就可以理解為:這就是一個(gè)對(duì)象的句柄。
例如:String str;
這里只擁有了一個(gè)對(duì)象句柄,句柄(str)并沒(méi)有與任何對(duì)象內(nèi)容相關(guān)聯(lián)。操縱句柄str時(shí),并向它發(fā)送一條消息,這時(shí)系統(tǒng)會(huì)提示錯(cuò)誤。所以在創(chuàng)建對(duì)象句柄時(shí),一定不要忘記將句柄與實(shí)際的對(duì)象內(nèi)容相關(guān)聯(lián)(也就是對(duì)象變量的初始化)。
對(duì)象變量的初始化
對(duì)象變量的初始化是通過(guò)new關(guān)鍵字來(lái)完成對(duì)象的創(chuàng)建過(guò)程。它是向內(nèi)存堆中申請(qǐng)一個(gè)空間,將這個(gè)對(duì)象內(nèi)容放到這里,然后將內(nèi)容與對(duì)象句柄(存在于棧中)關(guān)聯(lián)起來(lái)。
例如:String str = new String( “ Hello ” );
posted on 2007-08-14 20:27
心隨Wǒ動(dòng) 閱讀(362)
評(píng)論(1) 編輯 收藏