一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java中this的用法示例(關鍵字this)

java中this的用法示例(關鍵字this)

2019-11-16 14:13java教程網 JAVA教程

這篇文章主要介紹了java中this的用法示例(關鍵字this),需要的朋友可以參考下

this是指向本身的隱含的指針,簡單的說,哪個對象調用this所在的方法,那么this就是哪個對象。

示例代碼: TestThis_1.java

 

復制代碼代碼如下:


/* 問題:什么是this
 * 輸出結果:
 * A@4e44ac6a
 */

 

public class TestThis_1 {
    public static void main(String[] args) {
        A aa = new A();
        System.out.println(aa.f()); //aa.f(), 返回aa這個對象的引用(指針)
    }   
}

class A { 
    public A f() {
        return this;  //返回調用f()方法的對象的A類對象的引用
    }   
}

 

this的常見用法

1. 區分同名變量

示例代碼: TestThis_2.java

 

復制代碼代碼如下:


/* this的常見用法1:區分同名變量
 * 輸出結果:
 * this. i = 1
 * i = 33
 */
public class TestThis_2 {
    public static void main(String[] args) {
        A aa = new A(33);
    }   
}

 

class A { 
    public int i = 1;                                           //這個i是成員變量

    /*注意:一般不這么寫,構造函數主要是為了初始化,這么寫主要是為了便于理解*/
    public A(int i) {                                           //這個i是局部變量
        System.out.printf("this. i = %d\n", this.i);            //this.i指的是對象本身的成員變量i
        System.out.printf("i = %d\n", i);                       //這里的i是局部變量i
    }   
}

 

2. 構造方法間的相互調用

示例代碼: TestThis_3.java

 

復制代碼代碼如下:


/* this的常見用法2: 構造方法中互相調用*/
public class TestThis_3 {
    public static void main(String[] args) {

 

    }   
}

class A { 
    int i, j, k;
    public A(int i) {
        this.i = i;
    }  

    public A(int i, int j) {
        /* i = 3;  error   如果不注釋掉就會報錯:用this(...)調用構造方法的時候,只能把它放在第一句
         * TestThis_3.java:20: error: call to this must be first statement in constructor
         *      this(i);
         *                  ^
         *                  1 error
         */
        this(i);    
        this.j = j;
    }  

    public A(int i, int j, int k) {
        this(i, j); 
        this.k = k;
    }   
}

 

注意事項

被static修飾的方法沒有this指針。因為被static修飾的方法是公共的,不能說屬于哪個具體的對象的。

示例代碼: TestThis_4.java

 

復制代碼代碼如下:


/*static方法內部沒有this指針*/
public class TestThis_4 {
    public static void main(String[] args) {

 

    }   
}

class A { 
    static A f() {
        return this;
        /* 出錯信息:TestThis_4.java:10: error: non-static variable this cannot be referenced from a static context
         *          return this;
         *                     ^
         *                     1 error
         */
    }   
}

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产播放啪视频免费视频 | 精品videoss另类日本 | 亚洲一区二区精品推荐 | 亚洲日韩精品欧美一区二区一 | 亚洲国产精品久久精品成人网站 | 日韩高清成人毛片不卡 | 女子校生下媚药在线观看 | 国产成人在线播放视频 | 国产欧美成人不卡视频 | 成人au免费视频影院 | 国产成年人在线观看 | 国产成人精品一区二区 | 茄子视频懂你更多apl | 亚洲精品国产精品国自产观看 | 小仙夜晚慰自催眠mp3护士篇 | 国产美女下面流出白浆视频 | 日韩在线观看一区二区不卡视频 | 国产精品免费久久久久影院小说 | 亚洲色图150p | 国产三区二区 | 日本草草视频在线观看 | 亚洲国产AV无码综合在线 | 日韩在线 在线播放 | 国产精品国产精品国产三级普 | 99久久99热久久精品免费看 | 逼毛片| 国产福利免费看 | 久久一er精这里有精品 | 婚前试爱全集免费观看 | www伊人| 久9视频这里只有精品123 | 美女的让男人桶爽30分钟的 | 大陆男同志gayxxx | 色综合色综合 | 四虎影院免费视频 | 亚洲国产精品久久丫 | 乌克兰精品摘花处破 | 国产精品香蕉在线观看不卡 | jux629三浦理惠子在线播放 | 水蜜桃一二二区视在线 | 色愉拍亚洲偷自拍 |