在 Java 中是否可以将引用分配给"this"?

javaobject oriented programmingprogramming更新于 2024/7/29 16:00:00

Java 中的"this"关键字用作对当前对象的引用,在实例方法或构造函数中。使用它,您可以引用类的成员,例如构造函数、变量和方法。

将引用赋给 "this"

根据定义 "this" ,它是一个关键字,充当对当前对象(您正在从其构造函数/方法使用它的对象)的引用,其值 id 是固定的。因此,您不能为其分配新的引用值。此外,它只是一个关键字,而不是变量。

不过,如果您尝试将引用值赋给 "this",则会导致编译错误。

示例

在下面的 Java 程序中,类 (ExampleClass) 有两个私有变量 name、age 和一个实例化这些变量的参数化构造函数。从名为 display 的方法中,我们尝试为 "this"分配一个新值。

public class ExampleClass {
   private String name;
   private int age;
   public ExampleClass(String name, int age){
      this.name = name;
      this.age = age;
   }
   public void display(){
      this = new ExampleClass("krishna", 23);
   }
}

编译时错误

在编译时,此程序会给出如下所示的错误 −

ExampleClass.java:14: error: cannot assign a value to final variable this
      this = new ExampleClass("krishna", 23);
      ^
1 error

相关文章