Java对象与Java对象引用的区别:
上次课老师给我们讲到过Java对象和Java对象引用。提到Java对象就是“new”,“new”出来一个新的对象。
举个例子:就像是遥控板控制电视机一样,我们“new”一个对象把它当做一个“电视机”,此时需要声明一个控制其的“遥控器”。
FightPlane fp;
fp = new FightPlane();
上面的代码就是产生一个FightPlane的对象,fp此时是一个“遥控器”,但是并没有“遥控到”“电视机”,后面的代码句才让fp“遥控器”与“电视机”匹配上了。
new FightPlane();
产生的一个对象分配到堆内存之中,fp作为引用能操控对象的原因在于:它分配在栈内存中,并且存储着堆中对象的实际地址。
而关于Java对象引用,在第一个代码块就已经有所体现了。
FightPlane fp;
这就是声明一个对象引用,第二句代码就是初始化对象引用,让对象引用(“遥控器”)指向对象(“电视机”)。
Java对象的创建与C++对象创建的区别:
Java对象的创建是在堆内存、栈内存上创建的,而C++对象的创建可以在内存的三个部分上创建:
-
静态存储区域:主要保存全局变量和静态变量。生存期:整个程序。
-
堆:存储动态生成的变量。生存期:自己来决定。
-
栈:存储调用函数相关的变量和地址等。生存期:所处的语句块(既{}的范围)
以上是内存上的区别,创建对象的区别就是Java用“new”声明,而C++用数据类型、“new”还有“static”来创建不同内存部分的对象
本文深入探讨了Java中对象与对象引用的概念,通过类比遥控器与电视机的关系,形象地解释了二者之间的联系与区别。同时,对比了Java与C++在对象创建上的差异,包括内存分配的不同方式。
3293

被折叠的 条评论
为什么被折叠?



