在 Java 中,可以为“this”赋值引用吗?


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

更新于:2020年6月29日

浏览量 1000+

启动您的 职业生涯

完成课程后获得认证

开始学习
广告