成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Java對象的使用

taowen / 1885人閱讀

摘要:創(chuàng)建對象的根本途徑是構(gòu)造器,通過關(guān)鍵字來調(diào)用某個(gè)類的構(gòu)造器即可創(chuàng)建這個(gè)類的實(shí)例。根據(jù)出現(xiàn)的位置不同,作為對象的默認(rèn)引用有兩種情形。

創(chuàng)建對象的根本途徑是構(gòu)造器,通過new關(guān)鍵字來調(diào)用某個(gè)類的構(gòu)造器即可創(chuàng)建這個(gè)類的實(shí)例。

Person p;
p = new Person();

//也可以在定義p變量的同時(shí)并為p變量賦值
Person p = new Person();

創(chuàng)建對象之后,接下里即可使用該對象了,Java的對象大致有如下作用:

訪問對象的實(shí)例變量

調(diào)用對象的方法

static修飾的方法和成員變量,既可以通過類來調(diào)用,也可以通過實(shí)例來調(diào)用;沒有使用static修飾的普通方法和成員變量,只可通過實(shí)例來調(diào)用。

對象、引用和指針

在上面的代碼中,Person p = new Person();這行代碼創(chuàng)建了一個(gè)Person實(shí)例,也被稱為Person對象,這個(gè)Person對象被賦給p變量。
p引用變量本身只存儲(chǔ)了一個(gè)地址值,并未包含任何實(shí)際數(shù)據(jù),但它指向?qū)嶋H的Person對象,當(dāng)訪問p引用變量的成員和方法時(shí),實(shí)際上是訪問p所引用的對象的成員變量和方法。

對象this的引用

Java提供了一個(gè)this關(guān)鍵字,this關(guān)鍵字總是指向調(diào)用該方法的對象。根據(jù)this出現(xiàn)的位置不同,this作為對象的默認(rèn)引用有兩種情形。

構(gòu)造器中引用該構(gòu)造器正在初始化的對象。

在方法中引用調(diào)用該方法的對象。

this可以代表任何對象,當(dāng)this出現(xiàn)在某個(gè)方法體中,它所代表的對象是不確定的,但它的類型是確定的:它所代表的只能是當(dāng)前類的實(shí)例;只有當(dāng)這個(gè)方法被調(diào)用時(shí),它所代表的對象才被確定下來--誰在調(diào)用這個(gè)方法,this就代表誰。
大部分時(shí)候,一個(gè)方法訪問該類中定義的其他方法、成員變量時(shí)加不加this前綴的效果是完全一樣的。
對于static修飾的方法而言,則可以使用類來直接調(diào)用該方法,如果在static修飾的方法中使用this關(guān)鍵字,則這個(gè)關(guān)鍵字就無法找到合適對象。所以static修飾的方法中不能使用this引用。即靜態(tài)成員補(bǔ)不能直接訪問非靜態(tài)成員

如果確實(shí)需要在靜態(tài)方法中訪問一個(gè)普通方法,則只能重新創(chuàng)建一個(gè)對象。
大部分時(shí)候,普通方法訪問其他方法、成員變量時(shí)無需使用this前綴,但如果方法里有個(gè)局部變量和成員變量同名,但程序又需要在該方法里訪問這個(gè)被覆蓋的成員變量,則必須使用this前綴。

使用this作為方法的返回值可以讓代碼更加簡潔,但可能造成實(shí)際意義的模糊。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/76311.html

相關(guān)文章

  • 單例模式你會(huì)幾種寫法?

    摘要:使用靜態(tài)類體現(xiàn)的是基于對象,而使用單例設(shè)計(jì)模式體現(xiàn)的是面向?qū)ο?。二編寫單例模式的代碼編寫單例模式的代碼其實(shí)很簡單,就分了三步將構(gòu)造函數(shù)私有化在類的內(nèi)部創(chuàng)建實(shí)例提供獲取唯一實(shí)例的方法餓漢式根據(jù)上面的步驟,我們就可以輕松完成創(chuàng)建單例對象了。 前言 只有光頭才能變強(qiáng) 回顧前面: 給女朋友講解什么是代理模式 包裝模式就是這么簡單啦 本來打算沒那么快更新的,這陣子在刷Spring的書籍。在看...

    solocoder 評論0 收藏0
  • 一切都是對象

    摘要:一切都是對象之前自己學(xué)習(xí)就是以系統(tǒng)的角度去學(xué)習(xí),就是我們把這些知識(shí)點(diǎn)羅列出來,然后做一個(gè)全面的學(xué)習(xí)。按照面向?qū)ο蟮乃枷?,一切都是對象,不管什么?shù)據(jù)都應(yīng)該是對象,但是對于一些基礎(chǔ)的數(shù)據(jù)類型為了運(yùn)行效率和內(nèi)存的優(yōu)化,將個(gè)基本類型進(jìn)行了特殊處理。 一切都是對象 之前自己學(xué)習(xí)Java就是以系統(tǒng)的角度去學(xué)習(xí),就是我們把這些知識(shí)點(diǎn)羅列出來,然后做一個(gè)全面的學(xué)習(xí)。這樣的的確確可以將知識(shí)點(diǎn)都學(xué)習(xí)全面,...

    ruicbAndroid 評論0 收藏0
  • Java? 教程(目錄)

    Java? 教程 Java教程是為JDK 8編寫的,本頁面中描述的示例和實(shí)踐沒有利用在后續(xù)版本中引入的改進(jìn)。 Java教程是希望使用Java編程語言創(chuàng)建應(yīng)用程序的程序員的實(shí)用指南,其中包括數(shù)百個(gè)完整的工作示例和數(shù)十個(gè)課程,相關(guān)課程組被組織成教程。 覆蓋基礎(chǔ)知識(shí)的路徑 這些教程以書籍的形式提供,如Java教程,第六版,前往Amazon.com購買。 入門 介紹Java技術(shù)和安裝Java開發(fā)軟件并使用...

    lifesimple 評論0 收藏0
  • 可能是把Java內(nèi)存區(qū)域講最清楚一篇文章

    摘要:另外,為了線程切換后能恢復(fù)到正確的執(zhí)行位置,每條線程都需要有一個(gè)獨(dú)立的程序計(jì)數(shù)器,各線程之間計(jì)數(shù)器互不影響,獨(dú)立存儲(chǔ),我們稱這類內(nèi)存區(qū)域?yàn)榫€程私有的內(nèi)存。運(yùn)行時(shí)常量池運(yùn)行時(shí)常量池是方法區(qū)的一部分。 寫在前面(常見面試題) 基本問題: 介紹下 Java 內(nèi)存區(qū)域(運(yùn)行時(shí)數(shù)據(jù)區(qū)) Java 對象的創(chuàng)建過程(五步,建議能默寫出來并且要知道每一步虛擬機(jī)做了什么) 對象的訪問定位的兩種方式(句...

    RobinQu 評論0 收藏0
  • Java虛擬機(jī)學(xué)習(xí)

    摘要:虛擬機(jī)學(xué)習(xí)是一個(gè)虛構(gòu)出來的計(jì)算機(jī)有自己的處理器堆棧寄存器以及相應(yīng)的指令系統(tǒng)等。類裝載器子系統(tǒng)涉及虛擬機(jī)的其它組成部分和來自庫的類。運(yùn)行中的程序的每一個(gè)線程都是一個(gè)獨(dú)立的虛擬機(jī)執(zhí)行引擎的實(shí)例。 Java虛擬機(jī)學(xué)習(xí) JVM JVM是一個(gè)虛構(gòu)出來的計(jì)算機(jī),有自己的處理器,堆棧,寄存器以及相應(yīng)的指令系統(tǒng)等。JVM是JRE的一部分,通過在實(shí)際的計(jì)算機(jī)上仿真模擬各種計(jì)算機(jī)功能,這樣就能使Java在...

    RobinTang 評論0 收藏0
  • Android內(nèi)存泄漏總結(jié)

    摘要:內(nèi)存泄漏總結(jié)內(nèi)存管理的目的就是讓我們在開發(fā)中怎么有效的避免我們的應(yīng)用出現(xiàn)內(nèi)存泄漏的問題。在中,內(nèi)存泄漏的范圍更大一些。 Android 內(nèi)存泄漏總結(jié) 內(nèi)存管理的目的就是讓我們在開發(fā)中怎么有效的避免我們的應(yīng)用出現(xiàn)內(nèi)存泄漏的問題。內(nèi)存泄漏大家都不陌生了,簡單粗俗的講,就是該被釋放的對象沒有釋放,一直被某個(gè)或某些實(shí)例所持有卻不再被使用導(dǎo)致 GC 不能回收。最近自己閱讀了大量相關(guān)的文檔資料,打...

    legendaryedu 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<