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

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

[java學習筆記]java語言核心----面向對象之this關鍵字

2019-11-14 15:28:40
字體:
來源:轉載
供稿:網友

一.this關鍵字

體現:當成員變量和函數的局部變量重名時,可以使用this關鍵字來區別;在構造函數中調用其它構造函數

原理:

        代表的是當前對象。

        this就是所在函數的所屬對象的引用。

        簡單說,哪個對象調用了this關鍵字所在的函數,this就代表哪個對象。

1.區別局部變量和成員變量

內存圖解:

捕獲

說明:

  1. 程序執行到main函數時,main函數進入棧內存中的方法區,執行到Person p = new Person(“旺財”);時,在main方法區中創建一個Person類型的引用變量p
  2. 接著,在堆內存中創建一個Person類的實例,并初始化,然后調用構造函數,在棧內存中創建一個Person(String name)函數的方法區,對象一調用構造函數,構造函數的方法區中就會有一個this引用指向該對象
  3. 執行Person(String name)中的代碼,把this所指向的對象進行初始化,執行完成后,Person方法區出棧
  4. 給棧中main方法區中的p賦值,使之指向this所指向的對象
  5. 執行speak方法,speak方法進入方法區,打印的是this所指向對象的name和age

2.在構造函數中的使用

詳見 另一篇博客[java學習筆記]java語言核心----面向對象之構造函數 中的標題4:構造函數的相互調用

3.this的應用

只要在本類中使用本類的對象,一般都使用this關鍵字

如:在Person類中增加一個比較年齡的方法

代碼:

class Person{    PRivate int age;    private String name;    //此處省略get和set方法    Person(String name, int age){        this.name = name;        thia.age = age;    }    //判斷一個Person對象的年齡是否和調用此方法的對象的年齡相同    public boolean campare(Person p){              return this.getAge()==p.getAge();    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长武县| 谷城县| 铁岭市| 克东县| 西乌| 乳山市| 泰安市| 兴国县| 土默特左旗| 咸丰县| 科尔| 车险| 玉田县| 巴中市| 广安市| 西乌珠穆沁旗| 固原市| 淮南市| 呼玛县| 体育| 满洲里市| 竹北市| 肇州县| 博爱县| 玉溪市| 清原| 策勒县| 陆丰市| 措美县| 贵港市| 庆安县| 云林县| 大方县| 磐安县| 日照市| 惠州市| 塔城市| 滦南县| 清苑县| 松桃| 中山市|