Java提高篇(一):區分引用變數與物件
阿新 • • 發佈:2019-01-08
我們有程式碼:
New A=new New();
下面是這個New的類:
class New { public New() { System.out.println("這是New類當中的構造方法"); } public int age=111; public String name="父類的名字"; public void say(String content) { System.out.println(content); } public void great() { System.out.println("yellow"); } }
這樣我們就構成了一個物件的建立,但是在很多書上,A被稱為了我們新建立的物件,然而實際上並不是。A僅僅是我們所建立的一個引用變數。我們新建立的物件是由這個引用變數指向在堆中的物件,這個物件就包含了很多屬性了,比如我們剛剛所創建出來的New類的所有成員方法和成員變數。而A作為一個引用變數,則會儲存在棧當中,類似於C++當中的指標,這個指標(引用變數)就會指向堆中的物件。並不是我們傳統書上所說的A就是我們的物件。這一點在我們進行多型的理解時,就顯得異常重要了。