Java是一種面向對象的編程語言。在Java中,一個變量不僅可以保存值,還可以保存對象的引用。這個引用可以理解為指向內存中某一個對象的地址,因此也叫對象指針。
class Person{ String name; int age; } public class Main{ public static void main(String[] args){ Person p1 = new Person(); Person p2 = new Person(); p1.name = "Alice"; p1.age = 18; p2 = p1; p2.age = 19; System.out.println(p1.age); //輸出19,p1和p2指向同一個Person對象 } }
在上述代碼中,我們定義了一個Person類,這個類有兩個屬性:name和age。在Main類中,我們首先創(chuàng)建了兩個Person對象p1和p2,其中p1的age屬性被賦值為18。然后我們將p1的引用賦給p2,此時p1和p2指向同一個Person對象。接著我們修改了p2的age屬性為19,這時候p1的age屬性也被修改為19。這是因為p1和p2指向的是同一個對象,修改了一個屬性,另一個也會隨之改變。
Java中的對象引用提供了很大的靈活性,在程序中可以方便地操作對象。但需要注意的是,在賦值時,只是將對象的引用復制了一份,而不是復制了對象本身。如果要復制對象本身,需要使用深拷貝的方法。此外,在對對象進行操作時,也需要注意對象的生命周期,避免出現(xiàn)空指針等異常錯誤。