Java提高篇(一):区分引用变量与对象

我们有代码:

New A=new New();

下面是这个New的类:

 1 class New
 2 {
 3     public New()
 4     {
 5         System.out.println("这是New类当中的构造方法");
 6     }
 7     public int age=111;
 8     public String name="父类的名字";
 9     public void say(String content)
10     {
11         System.out.println(content);
12     }
13  
14     public void great()
15     {
16         System.out.println("yellow");
17     }
18 }

这样我们就构成了一个对象的创建,但是在很多书上,A被称为了我们新创建的对象,然而实际上并不是。A仅仅是我们所创建的一个引用变量。我们新创建的对象是由这个引用变量指向在堆中的对象,这个对象就包含了很多属性了,比如我们刚刚所创建出来的New类的所有成员方法和成员变量。而A作为一个引用变量,则会储存在栈当中,类似于C++当中的指针,这个指针(引用变量)就会指向堆中的对象。并不是我们传统书上所说的A就是我们的对象。这一点在我们进行多态的理解时,就显得异常重要了。
---------------------

posted @ 2018-10-22 19:04  Geeksongs  阅读(541)  评论(0编辑  收藏  举报

Coded by Geeksongs on Linux

All rights reserved, no one is allowed to pirate or use the document for other purposes.