在 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+

啟動您的 職業生涯

完成課程後獲得認證

開始學習
廣告
© . All rights reserved.