- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
祝您考试顺利通过,更多考试资料可以访问计算机等级考试网 http://www.kao8.cc/ncre/
6.3 对 象
把类实例化,我们可以生成多个对象,这些对象通过消息传递来进行交互 (消息传递即激活指定的某个对象的方法以改变其状态或让它产生一定的行为),最终完成复杂的任务。一个对象的生命期包括三个阶段: 生成、使用和清除。下面我们分别讲述:
对象的生成
对象的生成包括声明、实例化和初始化三方面的内容。通常的格式为:
type objectName = new type ( [paramlist] );
type objectName; 声明了一个类型为type 的对象。其中type 是组合类型(包括类和接口)。 对象的声明并不为对象分配内存空间 。
运算符 new 为对象分配内存空间,实例化一个对象。new 调用对象的构造方法,返回对该对象的一个引用(即该对象所在的内存地址)。用 new 可以为一个类实例化多个不同的对象。这些对象分别占用不同的内存空间,因此改变其中一个对象的状态不会影响其它对象 的状态。
生成对象的最 后一步是执行构造方法进行初始化。由于对构造方法可以进行重写,所以通过给出不同个数或类型的参数会分别调用不同的构造方法 。
以 例 6.5中 所 定 义 的 类 Point 为 例 ,我 们 生 成 类 Point 的 对 象 : Point p1 = new Point();
Point p2 = new Point(5,10);
这里,我们为类 Point 生成了两个对象p1、p2,它们分别调用不同的构造方法,p1调用缺省的构造方法(即没有参数),p2则调用带参数的构造方法。p1、p2分别对应于不同的内存空间,它们的值是不同的,可以完全独 立地分别对它们进行操作。
虽然 new 运算符返回对一个对象的引用,但与 C、C++中的指针不同,对象的引用是指向一个中间的数据结构,它存储有关数据类型的信息以及当前对象所在的堆的地址 ,而对于对象所在的实际的内存地址是不可操作的,这就保证了安全性。
对象的使用
对象的使用包括引用对象的成员变量和方法,通过运算符 可以实现对变量的访问和方法的调用,变量和方法可以通过设定一定的访问权限来允许或禁止其它对象对的访问 。我 们 先 定 义 一 个 类 Point, 它 在 例 6.5 的 定 义 中 添 加 了 一 些 内 容 。
例6.6
class Point{ int x,y;
String name = a point; Point()
{
x = 0;
y = 0;
}
Point( int x, int y, String name )
{
this.x = x; this.y = y;
= name;
}
int getX()
{
考试吧: www.kao8.cc 一个神奇的考试网站。
祝您考试顺利通过,更多考试资料可以访问计算机等级考试网 http://www.kao8.cc/ncre/
return x;
}
int getY()
{
return y;
}
void move( int newX, int newY )
{
x = newX; y = newY;
}
Point newPoint( String name )
{
Point newP = new Point( -x, -y, name ); return newP;
}
boolean equal( int x, int y )
{
if( this.x==x this.y==y ) return true;
else
return false;
}
void print()
{
System.out.println(name+ : x = +x+ y = +y);
}
public static void main( String args[] ){ Point p = new Point();
p.print();
p.move(50,50);
System.out.println(** after moving **); System.out.println(Get x and y directly); System.out.println(x = +p.x+ y = +p.y); System.out.println(or Get x and y by calling method); System.out.println (x = +p.getY()+ y = +p.getY()); if( p.equal(50,50) )
System.out.println(I like this point!!!! ); else
System.out.println(
您可能关注的文档
- 2012高考物理专题训练.docx
- 2012高考语文模拟试题及答案.docx
- 2012高中数学学习方法盘点.docx
- 2012高中英语学习方法.docx
- 2012杭州市中考卷语文.docx
- 2012互换性与技术测量基础预测试题全解.docx
- 2012级第1章S区元素自测题及答案.docx
- 2012建设工程项目管理电大网上过程性评测作业15答案.docx
- 2012届电磁感应—导体线框类问题复习归类分析.docx
- 2012届高考地理第一轮复习第18讲陆地环境的整体性和地域分异.docx
- 2012年计算机二级VFP报表设计习题及答案.docx
- 2012年计算机二级VFP表单设计学习教程基本概念.docx
- 2012年计算机二级VFP表单设计学习教程设计自定义表单的一般方法.docx
- 2012年计算机二级VFP表单设计学习教程向表单中添加控件.docx
- 2012年计算机二级VFP菜单设计与应用习题及答案.docx
- 2012年计算机二级VFP创建查询与视图学习教程创建查询.docx
- 2012年计算机二级VFP创建查询与视图学习教程创建视图.docx
- 2012年计算机二级VFP面向对象的程序设计学习教程概述.docx
- 2012年计算机二级VFP面向对象的程序设计学习教程类的创建.docx
- 2012年计算机二级VFP数据库的创建和使用学习教程数据库的创建过程.docx
原创力文档


文档评论(0)