Java this关键字

由 haiguiking 创建,小路依依 最后一次修改 2017-01-09

Java面向对象设计 - Java this关键字


什么是 this?

Java有一个名为 this 的关键字。它是对类的当前实例的引用。

它只能在实例的上下文中使用。

以下代码显示如何使用this关键字。

public class Main {
  int varA = 1;
  int varB = varA; // Assign value of varA to varB
  int varC = this.varA; // Assign value of varA to varC
}

当实例变量或类变量被具有相同名称的另一个变量隐藏时,我们需要使用关键字this限定一个实例变量,并使用类名称定义一个类变量。

例子

下面的代码显示了如何使用this关键字来引用一个实例变量,它的名字被一个局部变量隐藏。

public class Main {
  int num = 2014; // An instance variable

  void printNum(int num) {
    System.out.println("Parameter num: " + num);
    System.out.println("Instance variable num: " + this.num);
  }

  public static void main(String[] args) {
    Main tt6 = new Main();
    tt6.printNum(2000);
  }
}

上面的代码生成以下结果。


注意

下面的代码显示了如何使用this关键字来引用一个实例变量,它的名字被一个局部变量隐藏。

例如,以下代码非常常见:

Student类声明了一个实例变量id。在其setId()方法中,它还命名参数id,并使用this.id引用实例变量。

它还使用this.id在其getId()方法中引用实例变量id。

public class Student {
  private int id; // An instance variable

  public void setId(int id) {
    this.id = id;
  }

  public int getId() {

    return this.id;
  }
}

我们可以使用关键字 this 来限定实例方法名称。以下代码显示使用关键字this调用m2()方法的m1()方法。

public class Main {
  void m1() {
    // Invoke the m2() method
    this.m2(); // same as "m2();"
  }

  void m2() {
    // do something
  }
}
以上内容是否对您有帮助:

二维码
建议反馈
二维码