21xrx.com
2025-03-23 17:02:15 Sunday
文章检索 我的文章 写文章
Java中this关键字的使用
2023-06-14 11:02:08 深夜i     --     --
Java this 关键字 成员变量 构造方法 局部变量 同名方法

在Java中,this关键字非常常见,它可以指代当前对象本身。在类中的方法中使用this关键字,可以引用当前对象的成员变量和成员方法。当一个对象被创建后,this就会指向这个对象。

this关键字主要用于以下几个方面:

1. 调用本类中的的构造方法

2. 区分局部变量和成员变量

3. 在一个类中,可以定义多个同名的方法,而使用this关键字可以区分它们

4. 在构造方法中调用另一个构造方法

当调用本类中的构造方法时,可以使用this关键字来调用。例如:

public class Test {
  private int num;
  public Test() {
    this(0);
  }
  public Test(int num)
    this.num = num;
  
}

这个例子中,Test类中有两个构造方法,一个不带参数,一个带一个int类型参数。在不带参数的构造方法中,使用this关键字调用带参数的构造方法。

使用this关键字还可以区分局部变量和成员变量。例如:

public class Test {
  private int num;
  public Test(int num)
    this.num = num;
  
  public void printNum(int num) {
    System.out.println("局部变量num:" + num);
    System.out.println("成员变量num:" + this.num);
  }
}

这个例子中,Test类中有一个带参数的构造方法和一个printNum方法。在printNum方法中,使用this关键字引用成员变量num,使用局部变量num则不需要。

使用this还可以区分同名的方法。例如:

public class Test {
  public void print() {
    System.out.println("无参数的print方法");
  }
  public void print(int num) {
    System.out.println("带参数的print方法,参数为:" + num);
  }
  public void print(String str) {
    System.out.println("带参数的print方法,参数为:" + str);
  }
  public void test() {
    this.print();
    this.print(1);
    this.print("Hello");
  }
}

这个例子中,Test类中有三个同名的print方法,分别带无参数、一个int类型参数和一个String类型参数。在test方法中,使用this关键字调用不同的print方法。

除了上述用法之外,this关键字还可以在构造方法中调用另一个构造方法。例如:

public class Test {
  private int num;
  public Test() {
    this(0);
  }
  public Test(int num)
    this.num = num;
  
}

这个例子中,Test类中有两个构造方法,一个不带参数,一个带一个int类型参数。在不带参数的构造方法中,使用this关键字调用带参数的构造方法。

  
  

评论区