亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java 中的 this 关键字:什么是以及如何与示例一起使用

Java 中的这个关键字是什么?

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

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

如果视频无法访问,请单击此处

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

<中心>

<图>

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

让我们编译并运行代码

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

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

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

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

解决方法是“this”关键字

使用 Java this 关键字附加“a”和“b”,后跟点 (.) 运算符。

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

所以现在编译器知道了,

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

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

但是这一次,您创建了该类的两个对象,每个对象都调用 set data 方法。

编译器将如何确定它是否应该在对象 1 或对象 2 的实例变量上工作。

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

这样当对象 1 调用 set data 方法时,实例变量会被其引用变量附加。

在对象 2 调用 set data 方法时,对象 2 的一个实例变量被修改了。

这个过程由编译器自己负责。除非出现我们示例中的特殊情况,否则您不必显式附加“this”关键字。

示例: 学习使用“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 行添加“this ”关键字。

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

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

总结


java

  1. Java this 关键字
  2. 什么是 C# 中的接口与示例
  3. C# 队列示例:什么是 C# 队列以及如何使用?
  4. C 库中的 free() 函数:如何使用?通过示例学习
  5. Java Hello World:如何通过示例编写您的第一个 Java 程序
  6. Java OOP 中的封装与示例
  7. Java 中的 String Length() 方法:如何通过示例查找
  8. Java String charAt() 方法及示例
  9. Java String compareTo() 方法:如何与示例一起使用
  10. Java String endsWith() 方法及示例
  11. Java BufferedReader:如何通过示例在 Java 中读取文件
  12. Java中的插入排序算法及程序示例