程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java中this的用法示例(症結字this)

java中this的用法示例(症結字this)

編輯:關於JAVA

java中this的用法示例(症結字this)。本站提示廣大學習愛好者:(java中this的用法示例(症結字this))文章只能為提供參考,不一定能成為您想要的結果。以下是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
         */
    }  
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved