Java是一門面向?qū)ο蟮恼Z言。對象是Java程序中的一個基礎(chǔ)概念,它是數(shù)據(jù)和代碼的組合體,具有屬性和行為。
對象有一個唯一的身份標(biāo)識符,稱為對象引用。對象引用在程序中用來訪問對象的屬性和方法。
創(chuàng)建對象的過程稱為實(shí)例化。在Java中,使用關(guān)鍵字“new”來創(chuàng)建一個新對象。例如:
Person p = new Person();
這行代碼創(chuàng)建了一個Person類的新對象,并將其引用存儲在變量p中。
對象引用可以賦值給其他變量,從而使多個變量引用同一個對象。例如:
Person p1 = new Person(); Person p2 = p1;
在這個例子中,p1和p2都引用同一個Person對象。
對象引用也可以為null。如果一個對象引用為null,表示該對象當(dāng)前沒有引用任何對象。例如:
Person p = null;
這行代碼將p的值設(shè)置為null,表示p當(dāng)前沒有引用任何對象。
Java中的對象引用有一個非常重要的概念:垃圾回收。當(dāng)一個對象沒有任何引用時,它就成為垃圾,由Java虛擬機(jī)自動回收。
在Java中,對象之間的交互通常通過方法調(diào)用來實(shí)現(xiàn)。調(diào)用對象的方法需要使用對象引用來訪問方法。
需要注意的是,對象引用在傳遞時是值傳遞。即,當(dāng)將一個對象引用作為參數(shù)傳遞給一個方法時,方法中對該引用的修改不會影響到原來的對象引用。例如:
public void changeName(Person p) { p.setName("Tom"); // 在這里修改p的屬性 } Person p = new Person(); changeName(p); System.out.println(p.getName()); // 輸出的是原來的名字,而不是Tom
在上面的例子中,雖然在changeName方法中修改了p的名字,但是原來的對象引用并沒有被修改,因此輸出的還是原來的名字。