2021-05-12 14:32:11
怎麼理解JAVA中的「物件」
2019-12-10 20:53:31
JAVA是一種物件導向的程式設計語言,物件是由類抽象出來的,所有的問題都是通過物件來處理,物件可以操作類的屬性和方法來解決問題,所以了解物件的產生、操作和消亡是十分必要的。下面就來講解物件在JAVA語言中的應用
1
物件可以認為是在一類事物中抽象出某一個特例,通過這個特例來處理這類事物出現的問題,在Java語言中通過new操作符來建立物件。以前曾經在講解構造方法中介紹過每範例化一個物件就會自動呼叫一次構造方法,實質上這個過程就是建立物件的過程。準確地說,可以在Java語言中使用new操作符呼叫構造方法建立物件。2
語法如下:
Test test=new Test();
Test test=new Test("a");
引數說明表如下:
3
舉例說明:
例子中使用new操作符建立物件,建立物件的同時,將自動呼叫構造方法中的程式碼
1
當使用者使用new操作符建立一個物件後,可以使用「物件.類成員」來獲取物件的屬性和行為。物件的屬性和行為在類中是通過類成員變數和成員方法的形式來表示的,所以當物件獲取類成員,也就相應地獲取了物件的屬性和行為。2
舉例如下:
1
在Java語言中儘管一切都可以看作物件,但真正操作識別符號實質上是一個參照,那麼參照究竟在Java中是如何體現的?來看下面的語法。語法如下:類名 物件參照名稱比如一個Book類的參照可以使用的程式碼如下所示:Book book;1
在Java語言中有兩種物件的比較方式,分別為「==」運算子與equals()方法。實質上這兩種方式有著本質區別,下面舉例說明。
2
從上面的例子可以看出,「==」運算子和equals()方法比較的內容是不相同的:
equals()是比較兩個物件參照所指的內容是否相等;
「==」比較的是兩個物件參照的地址是否相同;
上例中c1、c3和c2的參照地址不同,所以結果為false;
解釋如下:
1
每個物件都有生命週期,當物件的生命週期結束時,分配給該物件的記憶體地址將會被回收,在其他語言中需要手動回收廢棄的物件,但是Java擁有一套完整的垃圾回收機制,使用者不必擔心廢棄的物件佔用記憶體,垃圾回收器將回收無用的占用記憶體的資源。2
在談到垃圾回收機制之前,首先需要了解何種物件會被JAVA虛擬機器視為垃圾。主要包括以下兩種情況:
1、物件參照超過其作用範圍,這個物件將視為垃圾;
2、將物件賦值為null;
相關文章