<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • Java中this關鍵字的詳解

          2019-8-17    seo達人

          在java的學習中,當接觸到類這一章的時候,就會避免不了的接觸到this關鍵字。



          首先,this關鍵字指向的是當前對象的引用



          作用:

                       this.屬性名稱                

                             指的是訪問類中的成員變量,用來區分成員變量和局部變量(重名問題)



                        



          class Test_08{

          public static void main(String [] args){

          //調用無參構造函數,

          Person p1 = new Person();

          p1.setAge(20);

          p1.setName("張三");

          p1.setGender("男");

          System.out.println(""+p1.getName()+" 今年"+p1.getAge()+"歲 性別為:"+p1.getGender());

          }



          }

          class Person{

          private String name;

          private int age;

          private String gender;

          Person(){}

          Person(String name,int age,String gender){

          this.name = name;

          this.age = age;

          this.gender = gender;

          }

          public void setName(String name){

          name = name;

          }

          public String getName(){

          return name;

          }

          public void setAge(int age){

          age = age;

          }

          public int getAge(){

          return age;

          }

          public void setGender(String gender){

          gender = gender;

          }

          public String getGender(){

          return gender;

          }

          }

           







          對Test_08運行后發現,調用的set方法并沒有對 對象中的變量進行賦值,是因為,傳入的參數變量名與類中屬性變量名重復,因此我們在set方法和有參構造方法中加上了this.類屬性名稱,這樣就可以完成對 對象變量的賦值。如下圖:







                       this.方法名稱              

                                          用來訪問本類的成員方法



                        this();                              

                                                              訪問本類的構造方法



                                                              ()中可以有參數的 如果有參數 就是調用指定的有參構造

                     注意事項:

                                      1.this() 不能使用在普通方法中 只能寫在構造方法中

                                      2.必須是構造方法中的第一條語句



          例如,當我們把this()放在有參構造函數的末尾時,例如用this("哈哈");我們先不管語法是否有錯誤,試著按照程序的運行來判斷一下結果,我們可以看出,當在創建對象時,假定調用含有this(“哈哈”)的構造函數,則剛開始存放的值,會被this(“哈哈”)調用的只含有一個參數的構造函數覆蓋,也就是說,最后的name會變成“哈哈”,這是與我們的初衷相違背的,而且運行結果也是報錯,



          當我們換到構造方法的第一句時,則不會有這種錯誤,因為它并不會影響到后面name的賦值。







           







           



          我們接下來把this語句放在構造函數的第一句位置,



          就不會有報錯







           

          ————————————————

          版權聲明:本文為CSDN博主「BetterShon」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。

          原文鏈接:https://blog.csdn.net/weixin_42386014/article/details/81138684

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://m.sdgs6788.com

          存檔

          狠狠狠色丁香婷婷综合久久五月 | 夜夜亚洲天天久久| 国内精品久久久久伊人av| 精品久久久久久无码专区不卡 | 久久久WWW免费人成精品| 一本色道久久综合狠狠躁篇| 午夜不卡久久精品无码免费| 亚洲国产成人久久精品影视| 久久精品久久久久观看99水蜜桃 | 久久99久久无码毛片一区二区| 久久中文字幕精品| 狠狠色丁香婷婷综合久久来| 久久人人爽人人爽人人片AV东京热| 少妇内射兰兰久久| 人妻无码精品久久亚瑟影视| 国产精品久久久久影视不卡| 四虎国产精品成人免费久久| 国产成人精品久久一区二区三区av | 国产精品久久永久免费| 亚洲国产成人久久综合野外| 国产91久久精品一区二区| 国产精品99久久久精品无码| 久久99精品久久久久久噜噜| 99久久人妻无码精品系列蜜桃| 亚洲精品乱码久久久久久中文字幕 | 久久强奷乱码老熟女| 精品久久久久久久| 久久久久人妻精品一区二区三区| 亚洲&#228;v永久无码精品天堂久久| 99久久99这里只有免费费精品| 久久人人爽人人爽人人片AV麻烦 | 久久亚洲中文字幕精品一区| 久久99精品久久久久久9蜜桃| 久久久精品一区二区三区| …久久精品99久久香蕉国产| 国产精品一区二区久久精品| 久久亚洲国产成人精品性色| 99国产欧美精品久久久蜜芽| 久久96国产精品久久久| 久久精品国产福利国产秒| 99久久99久久精品国产片|