关于Java中的对象名称以及对象

二者不一样。
Java把内存分为两种:栈内存和堆内存。
引用变量是在方法的栈内存中分配的,而对象是存放在对内存中的。
在堆中产生了一个对象后,还可以在栈中定义一个特殊的变量,让栈中的这个特殊变量的取值等于对象在堆内存中的首地址,栈中的这个变量就变成了对象的引用变量,以后就可以在程序中使用栈中的引用变量来访问堆中的对象。引用变量就相当于是为对象取的一个名称。

现在懂了吗?

看问题不能只盯着眼前所看到的,要时刻想着内存的存放方式,你才会更加理解面向对象编程的思想。
就你所举的例子给你分析:
a是引用变量的名称,他所指向的对象的名称不是a,a只是一个Cat类型的变量。一旦new Cat()了(这才是你说的实例化了一个对象),a就是有意义了,那么a就指向在堆内存中new Cat()对象的首地址。

如果再不清楚,你就好好看看书去吧,书上会给你讲清楚的,好好看书……

你可能感兴趣的:(程序设计)