首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java this 關鍵字四大核心用法深度解析

     編輯:程式設計綜合問答

1. 區分同名實例變量與局部變量/參數


class Hello {
    String s = "Hello";
    public Hello(String s) {
        System.out.println("參數 s = " + s);
        System.out.println("實例變量 this.s = " + this.s);
        this.s = s; // 賦值給實例變量
    }
}

2. 在構造器中調用本類其他構造器 (構造器鏈)


class Flower {
    Flower(int petals) { /* ... */ }
    Flower(String s) { /* ... */ }
    Flower(int petals, String s) {
        this(petals); // 必須放第一行,且只能調用一個
        // this(s); // 錯誤:不能調用兩個
    }
}

3. 將當前對象引用傳遞給其他方法/構造器


class A {
    public A() { new B(this).print(); }
    void print() { System.out.println("A"); }
}
class B {
    A a;
    B(A a) { this.a = a; }
    void print() { a.print(); System.out.println("B"); }
}

4. 內部類/匿名類中訪問外部類實例


class Outer {
    int i = 1;
    void start() {
        new Thread() {
            public void run() {
                Outer.this.run(); // 必須用 Outer.this 區分
            }
        }.start();
    }
    void run() { System.out.println(i++); }
}

總結

this 永遠指向**當前正在執行該代碼的對象實例**。是區分作用域、構造器鏈、對象傳遞、內部類外部引用的核心語法。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved