大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 編程內容分享,Java中this關鍵字的作用

編程內容分享,Java中this關鍵字的作用

更新時間:2020-06-30 15:41:29 來源:動力節點 瀏覽2223次

1、this調用當前屬性:其主要作用是當需要給類中的數據進行初始化時,可以通過this來進行賦值,而不用隨便定義一個變量來進行賦值,更有利于代碼的閱讀與理解

如:

class?Book{//定義書的類
????private?String?name;//書本名字
????private?int?price;//書本價格
????public?Book(String?name,int?price){?//使用this對類的數據進行初始化
????????this.name?=?name;????????   ? this.price?=?price;
????}
????/*public?Book(String?n,int?p){?//若不使用this關鍵字只能這樣進行賦值,不利于將變量與屬性統一起來
????????name?=?n;
????????price?=?p;
????}*/
????public?String?getInfo(){
????????return?"書籍:"?+?name?+?",價格:"?+?price;
????}
}
public?class?ThisDemo{
????public?static?void?main(String?args[]){
????????System.out.printIn(new?Book("Java",89.9).getInfo())
????}
}

2、this調用方法(普通方法、構造方法)

(1)普通方法:

?class?Book{//定義書的類
?????private?String?name;//書本名字
?????private?int?price;//書本價格
?????public?Book(String?name,int?price){//使用this對類的數據進行初始化
?????????this.name?=?name;?6?????????this.price?=?price;
?????????this.print();//調用本類普通方法,雖然可以不用使用this也可以進行本類普通方法的調用,但是好的習慣最好應該加上,目的是可以區分方法的定義來源
?????}
?????public?String?getInfo(){
?????????return?"書籍:"?+?name?+?",價格:"?+?price;
?????}
?????public?void?print(){
?????????System.out.printIn("***********");
?????}
?}
?public?class?ThisDemo{
?????public?static?void?main(String?args[]){
?????????System.out.printIn(new?Book("Java",89.9).getInfo())
?????}
?}

(2)構造方法:普通方法與構造方法的區別是構造方法在創建后只能掉用一次,用來初始化數據,而普通方法在創建后可以調用多次。

當需要使用構造方法輸出同一重復內容時,若不使用this關鍵字,則只能使用如下代碼:

class?Book{//定義書的類
????private?String?name;//書本名字
????private?int?price;//書本價格
????public?Book(){//無參構造
????????System.out.printIn("*************");
????}
????public?Book(String?name){//一參構造
????????System.out.printIn("*************");
????????this.name?=?name;
????}
????public?Book(String?name,int?price){//二參構造
????????System.out.printIn("*************");
????????this.name?=?name;
????????this.price?=?price;
????????}
????public?String?getInfo(){
????????return?"書籍:"?+?name?+?",價格:"?+?price;
????}
}
public?class?ThisDemo{
????public?static?void?main(String?args[]){
????????System.out.printIn(new?Book("Java",89.9).getInfo())
????}
}

顯然,這樣大大浪費了代碼行數,而應該使用this進行構造方法的調用,方法如下:、

class?Book{//定義書的類
????private?String?name;//書本名字
????private?int?price;//書本價格
????public?Book(){//無參構造
????????System.out.printIn("*************");
????}
????public?Book(String?name){//一參構造
????????this();//調用本類中的無參構造
????????this.name?=?name;
????}
????public?Book(String?name,int?price){//二參構造
????????this(name);//調用本類中的一參構造
????????this.price?=?price;
????????}
????public?String?getInfo(){
????????return?"書籍:"?+?name?+?",價格:"?+?price;
????}

}
public?class?ThisDemo{
????public?static?void?main(String?args[]){
????????System.out.printIn(new?Book("Java",89.9).getInfo())
????}
}

注:對this調用必須是構造方法中的第一個語句,否則便會出錯,當然也不能在普通方法中調用構造方法。

最為重要的是,使用this調用不能形成循環,即不能形成遞歸調用而沒有出口。

3、this表示當前方法

class?Book{
????public?void?fun(){
????????System.out.printIn("FUN方法"+this);
????}
????}
}
public?class?ThisDemo{
????public?static?void?main(String?args[]){
????????Book?b1?=?new?Book();
????????System.out.printIn("MAIN方法"+b1);
????????b1.fun();//有b1調用fun方法(this?=?b1)
????????//兩個輸出結果的地址一樣,代表著此時this代表著b1
????????System.out.printIn("*************")
????????Book?b2?=?new?Book();
????????System.out.printIn("MAIN方法"+b2);
????????b2.fun();//此時輸出結果和b2一樣
????}
}

在整個過程中,this的定義沒有變,只要有某一個對象調用本類中的方法,此時this就表示當前執行的對象。

編程內容分享,Java中this關鍵字的作用

Java技術相關內容

Java this關鍵字的使用(在構造方法中):http://www.dabaquan.cn/tutorial_java_se/1043.html

Java中static關鍵字:http://www.dabaquan.cn/tutorial_java_se/1044.html

Java this關鍵字的使用(在實例方法中):http://www.dabaquan.cn/tutorial_java_se/1031.html

Java中this關鍵字是什么:http://www.dabaquan.cn/tutorial_java_se/118.html

以上就是動力節點java培訓機構的小編針對“編程內容分享,Java中this關鍵字的作用”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 性免费网站| 女人18毛片特级一级免费视频 | 久久99久久99精品免观看 | 久久国内精品 | 亚洲欧洲一二三区机械有限公司 | 五月天激情婷婷 | 在线视频一区二区三区四区 | 国产色在线 | 亚洲 国产色在线视频 | 四虎综合网 | 国产精品久久精品牛牛影视 | 国产精品亚洲综合色拍 | 欧美福利视频在线观看 | 色综合天天综久久久噜噜噜久久〔 | 欧美日韩国产亚洲一区二区三区 | 久久99国产精品久久99小说 | 国产精品videossex激情 | 狠狠色丁香久久婷婷综合五月 | 久久天天躁夜夜躁狠狠85麻豆 | 久久6国产 | 免费香蕉成视频成人网 | 国产日韩一区二区 | 精品久久久久久久免费加勒比 | 神马影院我不卡在线观看 | 天天插天天操 | 久久亚洲国产精品五月天婷 | 国产一区二区在线观看视频 | 国产好大好爽久久久久久久 | 久久免费视频在线观看 | 国产精品久久久久久久人热 | 欧美综合图区 | 亚洲+自拍+色综合图区一 | 精品久| 四虎影院网址大全 | 狠狠色丁香久久婷婷综合五月 | 欧美激情精品久久久久久不卡 | 欧美精品色视频 | 国产精品v一区二区三区 | 狠狠狠地在啪线香蕉 | 午夜久久久久久网站 | 免费观看视频成人国产 | 精品国产品香蕉在线观看 |