this 关键字 Java

this 关键字是什么 Java?

此关键字 Java 是引用变量,它引用方法或构造函数的当前对象。使用 this 关键字的主要目的是 Java 是为了消除同名的类属性和参数之间的混淆。

此关键字的使用 Java

以下是“this”关键字的各种用法 Java:

  • 可用于引用当前类的实例变量
  • 它可用于调用或启动当前类构造函数
  • 它可以作为方法调用中的参数传递
  • 它可以作为构造函数调用中的参数传递
  • 它可用于返回当前类实例

点击 点击这里 如果视频无法访问

通过示例理解“this”关键字。

this 关键字 Java
Java this 关键字示例

  1. 增益级: 类帐户
  2. 实例变量:a 和 b
  3. 方法集数据:设置a和b的值。
  4. 方法显示数据:显示 a 和 b 的值。
  5. 主要方法: 我们为 Account 类创建一个对象并调用方法设置数据和显示数据。

让我们编译并运行代码

我们对 A 和 B 的预期输出应分别初始化为值 2 和 3。

但值为 0,为什么?让我们调查一下。

this 关键字 Java

在方法Set data中,参数声明为a和b,实例变量也命名为a和b。

this 关键字 Java

在执行过程中,编译器会感到困惑,赋值运算符左边的“a”是实例变量还是局部变量,因此在调用方法集数据时,它不会设置“a”的值。

this 关键字 Java

解决方案是“this”关键字

将“a”和“b”附加到 Java 此关键字后跟一个点(.)运算符。

this 关键字 Java

在代码执行期间,当对象调用方法“setdata”时。关键字“this”被对象处理程序“obj”替换。(见下图)。

this 关键字 Java

现在编译器知道了,

  • 左边的‘a’是一个实例变量。
  • 而右边的“a”是局部变量

这个 变量 已正确初始化,并显示预期的输出。

this 关键字 Java

假设您足够聪明,可以为实例变量和方法参数选择不同的名称。

this 关键字 Java

但是这一次,您创建了两个类对象,每个对象都调用设置数据方法。

编译器如何确定它是否应该对对象 1 还是对象 2 的实例变量进行操作。

this 关键字 Java

那么, 编译器隐式附加 带有“this”关键字的实例变量(下图)。

this 关键字 Java

这样,当对象 1 调用设置数据方法时,实例变量就会被其引用变量附加。

this 关键字 Java

当对象2调用设置数据方法时,对象2的一个实例变量被修改。

this 关键字 Java

此过程由编译器自行处理。除非出现如我们示例中的异常情况,否则您无需明确添加“this”关键字。

this 关键字 Java 与例子

计费示例: 学习使用“this”关键字

步骤1) 将以下代码复制到记事本中。

class Account{
int a;
int b;

 public void setData(int a ,int b){
  a = a;
  b = b;
 }
 public void showData(){
   System.out.println("Value of A ="+a);
   System.out.println("Value of B ="+b);
 }
 public static void main(String args[]){
   Account obj = new Account();
   obj.setData(2,3);
   obj.showData();
 }
}

步骤2) 保存、编译并运行代码。

步骤3) a 和 b 的值显示为零?要更正错误,请在第 6 行和第 7 行中添加“Free Introduction”关键字。

this.a =a;
this.b =b;

步骤4) 保存、编译并运行代码。这一次,a 和 b 的值分别设置为 2 和 3。

结语

  • Free Introduction 输入关键字 Java 是一个引用当前对象的引用变量。
  • 此关键字的用法之一 Java 是引用当前类实例变量
  • 它可用于调用或启动当前类构造函数
  • 它可以作为方法调用中的参数传递
  • this 指针 Java 可以在构造函数调用中作为参数传递
  • 此运算符 Java 可用于返回当前类实例
  • 这个在 Java 是对正在调用其方法的当前对象的引用。
  • 您可以使用“this”关键字来避免实例/对象的方法/构造函数中发生命名冲突。

查看我们的文章 Java 面试问题:- 点击这里