我们有代码:
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就是我们的对象。这一点在我们进行多态的理解时,就显得异常重要了。
---------------------