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

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

this關鍵字

2019-11-11 07:43:35
字體:
來源:轉載
供稿:網友

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表示當前對象:當前正在調用本類中方法的對象;


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海丰县| 锡林浩特市| 祁连县| 栾川县| 开原市| 罗源县| 渭南市| 青田县| 荔浦县| 黔江区| 泸定县| 南康市| 临清市| 龙泉市| 都江堰市| 合川市| 陈巴尔虎旗| 嫩江县| 大渡口区| 阳曲县| 延吉市| 康乐县| 庆安县| 白水县| 子洲县| 丽江市| 北票市| 平乡县| 江孜县| 无极县| 大安市| 盈江县| 车致| 尼勒克县| 吉木萨尔县| 苏尼特左旗| 岑巩县| 深泽县| 定日县| 个旧市| 三台县|