国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

this關鍵字

2019-11-11 07:38:30
字體:
來源:轉載
供稿:網友

this關鍵字

一、了解this用處

this:在程序里面,使用this可以訪問本類中的屬性,方法,表示出當前對象

1.使用this訪問屬性

 

但是以上的程序里面有一點不是很好,在構造方法上

 

構造方法的主要目的是為了類之中的name,age兩個屬性初始化,但是構造方法里面參數的名字并不清楚。既然目的是為屬性傳遞數據,那么最好將參數名稱和屬性名稱保持一致

改造如下:

 

如果按照此類的方式修改,發現name和age兩個屬性的并沒有內容。因為在構造方法里面操作的name和age和類之中的屬性無關,只與構造方法的參數有關(以{}為查找范圍);

所有的程序都以{}作為邊界,所有的取用都是以就近取用,若按照此道理來講,以上所操作的name和age實際上只是構造方法里面的兩個參數而已。所以現在要想明確的指定出訪問的是屬性則在屬性訪問前加上一個this,使用this.屬性的方式進行訪問

最終改造如下:

 

結論一:以后所以編寫的程序,都必須使用this訪問本類屬性。

2.this調用構造方法

如果要強調方法,在一個類之中應該有兩類方法:普通方法和構造方法。如果調用本類中的普通方法,則建議在方法前加“this”,使用“this.方法()”調用,但是在使用this的過程中還可以利用其實現構造方法的互調用

構造方法是在使用關鍵字new實例化類對象的時候使用到的,但是利用this()可以實現構造方法間的互調用操作

例子:

 

此時的構造方法已經成功實現了互調操作,但是在使用this調用構造方法的時也有一些限制:

1)使用this調用構造方法時必須放在構造方法的首行

2)在使用this()進行構造方法互相調用時,請至少保證留下一個出口。

即:不使用this調用其他構造;

3.this表示當前對象(開頭)

所謂的當前對象嚴格來講指的就是當前調用本類方法的對象;

例子:

 

輸出結果:

 

4.引用傳遞分析(重點)

范例一:

 

 

Fun(p);就相當于Person temp=Person;

這段程序使用了引用傳遞,在方法中只需要接收Demo類對象,就表示兩個棧內存指向同一塊堆內存空間,所做的修改一定可以保留下來;

范例二:

 

本題目解釋只有一句話:字符串的內容一旦聲明則不可改變;

 

本程序屬于一個數值關系,傳遞到方法里面的數據就相當于一個數據的拷貝,至于方法里面如何修改與之前無關;方法的參數在執行完之后消失

對于String數據類型由于其本身的特性所決定的操作模式(不可改變的模式)那么如果覺得堆棧關系過于難以理解,就按照基本類型的方式理解;

范例三:

 

此范例和第一范例是一樣的,String是一個引用數據類型,需要有堆棧關系

總結:this關鍵字

1)使用“this.屬性”表示本類屬性,而且在日后所有編寫代碼中,都要求寫上“this”

2)使用“this.方法()”可以調用本類普通方法;

3)使用“this()”表示調用本類構造方法,而且此代碼要求放在構造方法的首行,并且多個構造之間不允許循環調用(留有出口);

4)This表示當前對象:當前正在調用本類中方法的對象;


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁都县| 芮城县| 噶尔县| 仲巴县| 襄城县| 新野县| 临高县| 扶沟县| 吉林省| 佛坪县| 茌平县| 通河县| 咸丰县| 池州市| 新余市| 崇礼县| 万载县| 廊坊市| 绥芬河市| 泌阳县| 确山县| 晋州市| 灵台县| 昌平区| 上栗县| 通道| 额尔古纳市| 永新县| 进贤县| 无棣县| 朝阳区| 全南县| 林口县| 陆川县| 固镇县| 朔州市| 金山区| 慈溪市| 富源县| 手机| 肃南|