在 Java 中初始化多個變數

Rupam Yadav 2023年10月12日
  1. 在 Java 中初始化多個具有相同值的字串變數
  2. 在 Java 中用同一個類初始化多個物件
在 Java 中初始化多個變數

在本文中,我們將介紹在 Java 中,當我們想要初始化多個具有相同值的變數時需要遵循的步驟。我們將討論為什麼我們不能在宣告時初始化所有具有相同值的變數。

在 Java 中初始化多個具有相同值的字串變數

在下面的例子 1 中,我們宣告瞭 String 型別的變數 onetwothree,然後我們用相同的值初始化這三個變數。我們是通過鏈式賦值來完成的,這意味著我們將最左邊的變數的值賦給賦值操作符右邊的所有變數。

  • 例子 1
package com.company;

public class Main {
  public static void main(String[] args) {
    String one, two, three;
    one = two = three = "All three variables will be initialized with this string";

    System.out.println(one);
    System.out.println(two);
    System.out.println(three);
  }
}

輸出:

All three variables will be initialized with this string
All three variables will be initialized with this string
All three variables will be initialized with this string

如果我們的要求是在宣告過程中初始化變數,那麼我們可以像下面那樣使用鏈式賦值。但是它降低了程式的可讀性,因為可能有多個開發人員在同一個專案中工作。

  • 例子 2
package com.company;

public class Main {
  public static void main(String[] args) {
    String one, two, three = two = one = "All three variables will be initialized with this string";

    System.out.println(one);
    System.out.println(two);
    System.out.println(three);
  }
}

輸出:

All three variables will be initialized with this string
All three variables will be initialized with this string
All three variables will be initialized with this string

在 Java 中用同一個類初始化多個物件

我們看到,我們可以使用鏈式賦值技術在所有三個 String 變數中儲存相同的值。但是,當我們想把同一個類物件的引用儲存在多個變數中時,我們是否也可以這樣做呢?讓我們來看看。

當我們使用 new 關鍵字用類建構函式初始化一個變數時,這個變數被稱為 object,它指向類。我們可以使用鏈式賦值來建立同一個類的多個物件,但它將指向同一個引用,這意味著如果我們改變了 firstObj 的值,secondObj 也會反映出同樣的變化。

我們可以參考下面的例子,在這個例子中,三個物件-firstObjsecondObjthirdObj 被分配在一起,但 fourthObj 被分開分配。輸出顯示了其中的差異。

package com.company;

public class Main {
  public static void main(String[] args) {
    SecondClass firstObj, secondObj, thirdObj;
    firstObj = secondObj = thirdObj = new SecondClass();

    firstObj.aVar = "First Object";

    secondObj.aVar = "Second Object";

    SecondClass fourthObj = new SecondClass();
    fourthObj.aVar = "Fourth Object";

    System.out.println(firstObj.aVar);
    System.out.println(secondObj.aVar);
    System.out.println(thirdObj.aVar);

    System.out.println(fourthObj.aVar);
  }
}

class SecondClass {
  String aVar;
}

輸出:

Second Object
Second Object
Second Object
Fourth Object
作者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

相關文章 - Java Variable