6.3.1 对象的生成
对象的生成包括声明、实例化和初始化三方面的内容。通常的格式为:
type objectName = new type ( [paramlist] );
1. type objectName; 声明了一个类型为type的对象。其中type是组合类型(包括类和接口)。 对象的声明并不为对象分配内存空间 。
2. 运算符new为对象分配内存空间,实例化一个对象。new调用对象的构造方法,返回对该对象的一个引用(即该对象所在的内存地址)。用new可以为一个类实例化多个不同的对象。这些对象分别占用不同的内存空间,因此改变其中一个对象的状态不会影响其它对象 的状态。
3. 生成对象的最 后一步是执行构造方法进行初始化。 由于对构造方法可以进行重写,所以通过给出不同个数或类型的参数会分别调用不同的构造方法 。
以 例 6.5中 所 定 义 的 类 Point 为 例 ,我 们 生 成 类 Point的 对 象 :
Point p1 = new Point();
Point p2 = new Point(5,10);
这里,我们为类Point生成了两个对象p1、p2,它们分别调用不同的构造方法,p1调用缺省的构造方法(即没有参数),p2则调用带参数的构造方法。p1、p2分别对应于不同的内存空间,它们的值是不同的,可以完全独立地分别对它们进行操作。
虽然new运算符返回对一个对象的引用,但与C、C++中的指针不同,对象的引用是指向一个中间的数据结构,它存储有关数据类型的信息以及当前对象所在的堆的地址,而对于对象所在的实际的内存地址是不可操作的,这就保证了安全性。
2017年计算机二级考试java章节辅导:对象的生成.doc正在阅读:
2017年计算机二级考试java章节辅导:对象的生成10-30
2021江苏省盐城市响水县卫健系统县直事业单位招聘公告【86人】09-21
高三100字入团申请书范例03-28
高一年级语文下册说课稿范例11-08
腊八节祝福句子【三篇】04-03
(陕西)西北大学2017年12月英语六级报名入口:www.nwu.edu.cn02-05
青年文明口号标语大全01-07
日语五级查分网2019年7月海南日语N5成绩查询入口【已开通】04-09
2020运动会霸气加油句子大全【三篇】10-30
岁寒三友梅作文800字10-21