今天小編給大家分享的是java中什么時候調(diào)用this,相信很多人都不太了解,為了讓大家更加了解java調(diào)用this,給大家總結(jié)了以下內(nèi)容,話不多說,一起往下看吧。
成都創(chuàng)新互聯(lián)是一家專業(yè)提供宜秀企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、成都做網(wǎng)站、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為宜秀眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
this只存在于方法內(nèi)部,用來代表調(diào)用改方法的對象。可以理解為每一個方法內(nèi)部都有一個局部變量叫this,每當(dāng)初始化一個對象時,就把該對象的地址傳遞給了該對象每一個方法中的this變量,從而可以在方法內(nèi)部使用這個的對象。
java中什么時候用this?
1、當(dāng)局部變量和成員變量重名的時候,在方法中使用this表示成員變量以示區(qū)分
實例:
class Demo{ String str = "這是成員變量"; void fun(String str){ System.out.println(str); System.out.println(this.str); this.str = str; System.out.println(this.str); } } public class This{ public static void main(String args[]){ Demo demo = new Demo(); demo.fun("這是局部變量"); } }
2、this關(guān)鍵字把當(dāng)前對象傳遞給其他方法
實例:
class Person{ public void eat(Apple apple){ Apple peeled = apple.getPeeled(); System.out.println("Yummy"); } } class Peeler{ static Apple peel(Apple apple){ //....remove peel return apple; } } class Apple{ Apple getPeeled(){ return Peeler.peel(this); } } public class This{ public static void main(String args[]){ new Person().eat(new Apple()); } }
3、當(dāng)需要返回當(dāng)前對象的引用時,就常常在方法寫return this
這種做法的好處是:當(dāng)你使用一個對象調(diào)用該方法,該方法返回的是經(jīng)過修改后的對象,且又能使用該對象做其他的操作。因此很容易對一個對象進(jìn)行多次操作。
public class This{ int i = 0; This increment(){ i += 2; return this; } void print(){ System.out.println("i = " + i); } public static void main(String args[]){ This x = new This(); x.increment().increment().print(); } } 結(jié)果為:4
4、在構(gòu)造器中調(diào)用構(gòu)造器需要使用this
一個類有許多構(gòu)造函數(shù),有時候想在一個構(gòu)造函數(shù)中調(diào)用其他構(gòu)造函數(shù),以避免代碼重復(fù),可以使用this關(guān)鍵字。
關(guān)于java中什么時候調(diào)用this的內(nèi)容就分享到這里了,當(dāng)然并不止以上和大家分析的辦法,不過小編可以保證其準(zhǔn)確性是絕對沒問題的。希望以上內(nèi)容可以對大家有一定的參考價值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。
當(dāng)前名稱:java中調(diào)用this
網(wǎng)頁鏈接:http://jinyejixie.com/article28/jjphcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、微信小程序、營銷型網(wǎng)站建設(shè)、定制開發(fā)、網(wǎng)站內(nèi)鏈、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)