亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

徹底理解Java中this 關(guān)鍵字

 更新時(shí)間:2016年05月25日 17:24:44   作者:Devin*  
這篇文章主要介紹了徹底理解Java中this 關(guān)鍵字的相關(guān)資料,非常不錯(cuò),具有參考價(jià)值,需要的朋友可以參考下

this關(guān)鍵字再java里面是一個(gè)我認(rèn)為非常不好理解的概念,:)也許是太笨的原因

this 關(guān)鍵字的含義:可為以調(diào)用了其方法的那個(gè)對(duì)象生成相應(yīng)的句柄。

怎么理解這段話呢?

thinking in java里面有這么一個(gè)例子

有兩個(gè)同一個(gè)類型的對(duì)象,分別叫做a和b,那我們?cè)鯓訁^(qū)別在調(diào)用方法f()的時(shí)候,是誰(shuí)再調(diào)用這個(gè)方法呢?

例如:

class Banana {
void f(int i){
/***方法主體*****/
}
}
Banana a = new Banana();//生成Banana的對(duì)象a
Banana b= new Banana();//生成Banana的對(duì)象b
a.f(1);
b.f(2);

那么編譯器是怎樣知道你是要調(diào)用哪個(gè)對(duì)象的f()函數(shù)呢?其實(shí)幕后的傳送應(yīng)該是:

a.f(1)<<====>>Banana.f(a,1);
b.f(1)<<====>>Banana.f(b,2);

我理解為:生成一個(gè)Banana的對(duì)象a,調(diào)用a的方法f()的時(shí)候,會(huì)同時(shí)生成一個(gè)指向這個(gè)對(duì)象的一個(gè)句柄this

這里就是this 這個(gè)指向?qū)ο?new Banana()或者 this 在這里等價(jià)于句柄 a;this《==》a;

當(dāng)我們?cè)谝粋€(gè)方法的內(nèi)部的時(shí)候。并且希望獲得當(dāng)前對(duì)象的句柄,由于這個(gè)句柄時(shí)編譯器秘密傳遞的,所以時(shí)沒(méi)有明確的標(biāo)志符來(lái)識(shí)別的,這個(gè)時(shí)候我們可以使用this這個(gè)關(guān)鍵字

this的通俗含義:不論是生成的哪個(gè)對(duì)象調(diào)用了這個(gè)方法,都會(huì)生成一個(gè)指向這個(gè)對(duì)象的指針 this

thinking in java 里面的經(jīng)典例子:

public class Leaf{
private int i=0;
Leaf increment(){
i++;
return this;
}
void print(){
Systme.out.println("i="+i);
public static void main (String [] args)
{
Leaf x =new Leaf();
x.increment().increment(). increment().print();
}
}

1、生成一個(gè)對(duì)象的句柄 x ;語(yǔ)法格式為 Leaf x;

2、生成一個(gè)Leaf class的對(duì)象;語(yǔ)法格式為 new Leaf();

3、建立句柄與對(duì)象的聯(lián)系 ;語(yǔ)法為 x = new Leaf();

4、調(diào)用對(duì)象 new Leaf()里面的方法 increment();語(yǔ)法為 x.increment()

×××誰(shuí)調(diào)用了方法 increment()呢?是Leaf類的對(duì)象x(或者是new Leaf()),所以對(duì)應(yīng)系統(tǒng)會(huì)生成一個(gè)this 引用,并把它秘密的指向 x 或者是 指向 new Leaf()這個(gè)對(duì)象,所以 increment()返回的是一個(gè)指向x的引用!是一個(gè)內(nèi)存的地址,我們可以把它打印出來(lái)看看,就知道了!

以上內(nèi)容是小編給大家介紹的Java中this 關(guān)鍵字的知識(shí),希望對(duì)大家有所幫助!

相關(guān)文章

  • Springboot 跨域配置無(wú)效及接口訪問(wèn)報(bào)錯(cuò)的解決方法

    Springboot 跨域配置無(wú)效及接口訪問(wèn)報(bào)錯(cuò)的解決方法

    這篇文章主要介紹了Springboot 跨域配置無(wú)效及接口訪問(wèn)報(bào)錯(cuò)的解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 解析spring boot與ireport 整合問(wèn)題

    解析spring boot與ireport 整合問(wèn)題

    本文通過(guò)實(shí)例代碼給大家介紹了spring boot 與 ireport 整合問(wèn)題,關(guān)于pom文件依賴的問(wèn)題通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-10-10
  • Java實(shí)現(xiàn)兩人五子棋游戲(六) 行棋方變換

    Java實(shí)現(xiàn)兩人五子棋游戲(六) 行棋方變換

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)一個(gè)簡(jiǎn)單的兩人五子棋游戲,行棋方變換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • SpringBoot復(fù)雜參數(shù)應(yīng)用詳細(xì)講解

    SpringBoot復(fù)雜參數(shù)應(yīng)用詳細(xì)講解

    我們?cè)诰帉懡涌跁r(shí)會(huì)傳入復(fù)雜參數(shù),如Map、Model等,這種類似的參數(shù)會(huì)有相應(yīng)的參數(shù)解析器進(jìn)行解析,并且最后會(huì)將解析出的值放到request域中,下面我們一起來(lái)探析一下其中的原理
    2022-09-09
  • 使用arthas命令redefine實(shí)現(xiàn)Java熱更新(推薦)

    使用arthas命令redefine實(shí)現(xiàn)Java熱更新(推薦)

    今天分享一個(gè)非常重要的命令 redefine ,主要作用是加載外部的 .class 文件,用來(lái)替換 JVM 已經(jīng)加載的類,總結(jié)起來(lái)就是實(shí)現(xiàn)了 Java 的熱更新,感興趣的朋友跟隨小編一起看看吧
    2020-05-05
  • Java詳解IO流創(chuàng)建讀取與寫入操作

    Java詳解IO流創(chuàng)建讀取與寫入操作

    這篇文章主要介紹了Java IO流,同時(shí)也介紹了流中的一些相關(guān)的內(nèi)容,并且通過(guò)大量的案例供大家理解。最后通過(guò)一些經(jīng)典的案例幫助大家對(duì)前面所學(xué)的知識(shí)做了一個(gè)綜合的應(yīng)用,需要的朋友可以參考一下
    2022-05-05
  • SpringMVC Tomcat控制臺(tái)亂碼問(wèn)題解決方案

    SpringMVC Tomcat控制臺(tái)亂碼問(wèn)題解決方案

    這篇文章主要介紹了SpringMVC Tomcat控制臺(tái)亂碼問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • Java elasticSearch-api的具體操作步驟講解

    Java elasticSearch-api的具體操作步驟講解

    這篇文章主要介紹了elasticSearch-api的具體操作步驟講解,本文通過(guò)詳細(xì)的步驟介紹和圖文代碼展示講解了該項(xiàng)技術(shù),需要的朋友可以參考下
    2021-06-06
  • Maven引用自定義jar包方式

    Maven引用自定義jar包方式

    這篇文章主要介紹了Maven引用自定義jar包方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • java中volatile和synchronized的區(qū)別與聯(lián)系

    java中volatile和synchronized的區(qū)別與聯(lián)系

    這篇文章主要介紹了java中volatile和synchronized的區(qū)別與聯(lián)系的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家理解這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10

最新評(píng)論