this 关键字 Java
this 关键字是什么 Java?
此关键字 Java 是引用变量,它引用方法或构造函数的当前对象。使用 this 关键字的主要目的是 Java 是为了消除同名的类属性和参数之间的混淆。
此关键字的使用 Java
以下是“this”关键字的各种用法 Java:
- 可用于引用当前类的实例变量
- 它可用于调用或启动当前类构造函数
- 它可以作为方法调用中的参数传递
- 它可以作为构造函数调用中的参数传递
- 它可用于返回当前类实例
点击 点击这里 如果视频无法访问
通过示例理解“this”关键字。

- 增益级: 类帐户
- 实例变量:a 和 b
- 方法集数据:设置a和b的值。
- 方法显示数据:显示 a 和 b 的值。
- 主要方法: 我们为 Account 类创建一个对象并调用方法设置数据和显示数据。
让我们编译并运行代码
我们对 A 和 B 的预期输出应分别初始化为值 2 和 3。
但值为 0,为什么?让我们调查一下。
在方法Set data中,参数声明为a和b,实例变量也命名为a和b。
在执行过程中,编译器会感到困惑,赋值运算符左边的“a”是实例变量还是局部变量,因此在调用方法集数据时,它不会设置“a”的值。
解决方案是“this”关键字
将“a”和“b”附加到 Java 此关键字后跟一个点(.)运算符。
在代码执行期间,当对象调用方法“setdata”时。关键字“this”被对象处理程序“obj”替换。(见下图)。
现在编译器知道了,
- 左边的‘a’是一个实例变量。
- 而右边的“a”是局部变量
这个 变量 已正确初始化,并显示预期的输出。
假设您足够聪明,可以为实例变量和方法参数选择不同的名称。
但是这一次,您创建了两个类对象,每个对象都调用设置数据方法。
编译器如何确定它是否应该对对象 1 还是对象 2 的实例变量进行操作。
那么, 编译器隐式附加 带有“this”关键字的实例变量(下图)。
这样,当对象 1 调用设置数据方法时,实例变量就会被其引用变量附加。
当对象2调用设置数据方法时,对象2的一个实例变量被修改。
此过程由编译器自行处理。除非出现如我们示例中的异常情况,否则您无需明确添加“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 面试问题:- 点击这里