举报投诉联系我们 手机版 热门标签 名动网
您的位置:名动网 > javathis关键字作用 Java this关键字

javathis关键字作用 Java this关键字

2023-03-11 00:20 Java教程

javathis关键字作用 Java this关键字

javathis关键字作用

this关键字是Java中的一个重要的关键字,它可以用来引用当前对象或当前类的实例。它可以在构造函数、方法和语句块中使用,也可以作为一个参数传递给方法,或者作为一个返回值返回。

this关键字有三种不同的用法:

1. this.variableName: 可以用来引用当前对象的成员变量。 
2. this(): 可以用来调用当前类的构造函数。 
3. this(parameters): 可以用来调用当前类的带有参数的构造函数。

this关键字也可以在方法中使用,它表示当前对象,即正在执行方法的对象。如果在一个方法中使用this关键字,则表明该方法是属于该对象而不是属于类的。

此外,this关键字还可以作为一个参数传递给方法,或者作为一个返回值返回。例如:

public void setName(String name, Person person) { 
    person.name = name;  // 这里使用了this关键字 
}

上面代码中setName()方法接收了一个Person对象作为参数(person)并将name值赋给person对象。这里使用了this关键字来引用person对象。

总之,this关键字是Java中一个很重要的关键字,它能够帮助我们引用当前对象、当前类、传递参数、进行返回值处理等功能。因此应该牢牢把握并正确使用this关键字所带来的好处。

Java this关键字

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 来区分当前对象。

Java 中为解决变量的命名冲突和不确定性问题,引入关键字 this 代表其所在方法的当前对象的引用:

  1. 构造方法中指该构造器所创建的新对象;
  2. 方法中指调用该方法的对象;
  3. 在类本身的方法或构造器中引用该类的实例变量(全局变量)和方法。

this 只能用在构造器或者方法中,用于获得调用当前的构造器方法的对象引用。可以和任何的对象引用一样来处理这个this对象。

说明:

  1. 当实例变量和局部变量重名,JAVA 平台会按照先局部变量、后实例变量的顺序寻找。即,方法中使用到的变量的寻找规律是先找局部变量,再找实例变量。如果没用找到,将会有一个编译错误而无法通过编译。
  2. 如果使用 this.a,则不会在方法(局部变量)中寻找变量 a ,而是直接去实例变量中去寻找,如果寻找不到,则会有一个编译错误。
  3. 在一个方法内,如果没有出现局部变量和实例变量重名的情况下,是否使用 this 关键字是没有区别的。
  4. 在同一个类中,Java 普通方法的互相调用可以省略 ​this. ​,而直接使用方法名 + 参数。因为 Java 编译器会帮我们加上。

例子

下面的代码显示了如何使用 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
  }
}


阅读全文
以上是名动网为你收集整理的javathis关键字作用 Java this关键字全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 名动网 mdwl.vip 版权所有 联系我们