- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验7 类与对象编程
7.1实验目的
(1) 了解类的成员设计(2)?掌握类与对象的关系
(3) 理解静态方法与实例方法的使用差异;
7.2 知识要点
7.2.1 类
?? 作为java程序的基本要素,类由成员变量(也称属性)和成员方法组成。属性包括常量和变量,方法则包括构造方法和一般方法,在定义类时,它们习惯上按如下次序排列:class Order { // final 属性// 属性// 构造方法// 方法}类的属性一般定义为私有的,而将类的方法定义为public。
7.2.2? 对象创建与构造方法
类是创建对象的模板,而对象是类的实例。对象是一组属性和方法的封装体。创建对象用到保留字new。
格式为: 引用变量 = new 构造方法(参数)
有关构造方法有以下几点说明:
(1)创建对象时将用到构造方法;系统自动调用参数匹配的构造方法为对象初始化。
(2)构造方法的名称必须与类名同名,构造方法没有返回类型;
(3)一个类可提供多个构造方法,这些方法的参数不同。
(4)如果程序中未提供构造方法,系统自动提供空的无参构造方法。
7.2.3? 对象引用变量与对象关系
对象创建后,将对象的引用赋值给某个引用变量,就可以通过该变量访问对象的成员属性和方法。
成员的调用通过“.”运算符实现,格式为:
对象名.属性
对象名.方法(参数)
以下结合实例介绍对象引用变量与对象的关系。
class Point {
int x,y;? //属性变量
public Point(int x1,int y1) {? //构造方法
??? x=x1;? //将参数值赋值给对象的属性变量
??? y=y1;
}
public static void main(String args[]) {
??? Point p1=new Point(2,3);? //创建点(2,3)用p1引用
??? Point p2=new Point(3,5);? //创建点(3,5)用p2引用
??? Point p3=p1;???????????? //p3和p1代表同一对象
??? p1.x=18;???????????????? //修改p1的x属性值
??? System.out.println(p3.x);?? //输出 p3的x属性值
??? p1=p2;?????????????????? //p1“叛变”,改为和p2指向同一点
??? System.out.println(p1.x);
}
}
【运行结果】
? 18
? 3
【有关说明】
(1)main方法中首先创建两个对象,用带阴影的方框表示,分别用p1和p2两个引用变量存储其引用地址。
(2)语句Point p3=p1;的作用是定义一个Point类型的引用变量p3和p1值向同一对象;如图1所示。
(3)语句p1.x=8;的作用是修改p1所引用对象的x1值,由于p1和p3是“代表”同一对象,因此,输出p3.x和p1.x是一样的,也就是18.
(4)? 语句p1=p2将p1改为指向和p2所指的对象,这样,再输出 p1.x则结果为3。
【重要提示】 对象和对象引用变量是两个不同的概念,对象引用变量中存放的是对象的地址。通常访问对象需要借助对象引用变量,将对象的地址赋值给对象引用变量,则该引用变量就“代表”这个对象,但是引用变量与对象并不是固定的关系,通过更改引用变量的值,可让其“代表”另一对象,也可以通过引用变量之间的赋值让多个引用变量指向同一对象。如果一个对象没有任何引用变量指向它,则要访问该对象就再也不可能,Java垃圾回收器将自动回收该对象占用的内存。?
7.2.4 静态空间与实例空间
带有static修饰的属性称为静态属性或称类变量;带有static修饰的方法称为静态方法,在静态方法内可以直接访问静态属性或调用其他静态方法,静态属性在分配空间时与对象无关,静态空间的引用是与类关联,一个类的静态属性成员只有一份,访问静态成员可以通过类名(在自己类中也可以直接访问),也可以通过对象,静态属性是共享的,该类的任何对象均可访问它。
【思考】静态属性外层包裹的是类,因此必须指明是访问哪个类的静态成员,如果是在自己类中则可以省略,由于对象是由类创建,自然对象能标识其所属类,因此也允许用对象做前缀访问静态属性。非静态属性也称实例变量,也就是说,要通过实际的对象才能访问,其外层包裹的是对象,不同对象其实例变量的值通常是不同的。
例如,以下类中y是属于类的属性变量,而x是属于对象的实例变量,y是依托类的,在类装载时将给其分配空间并赋值,整个类只有一个y;而x只有创建了具体对象才存在,不同对象有各自的x属性,如图7-2所示。
class demo {
int x;
Static int
您可能关注的文档
- 宋湛[首都经济贸易大学]中国工资调整机制的分省分行业比较.doc
- 完全BIOS手册基本篇.doc
- 完全版(像素画基础技法).doc
- 完善10KV和以下线路图的准确性的合理化建议2.doc
- 完善员工沟通渠道营造及谐企业氛围.doc
- 完型及阅读里的单词.doc
- 完工产品实际销售收入毛利额及预售收入毛利额差异调整的鉴证报告.doc
- 完成你的指派工作 [2].doc
- 完整vi系统细则内容.doc
- 完整版形成性考核个人及团队管理.doc
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
最近下载
- 商务英语听说(对外经济贸易大学)中国大学MOOC(慕课)章节测验试题(答案).pdf
- 高中化学,2022届高考一轮:离子交换膜在电化学中的应用.pptx VIP
- 药物制剂决明子提取工艺研究.doc
- 大气热力环流课件高中地理人教版(2019)必修一 .pptx
- 全国大学生职业规划生涯发展报告范文精选4篇.pdf
- 新能源汽车概论PPT完整全套课件.pptx
- 网络信息安全意识培训.pptx VIP
- Veronica Mars《美眉校探(2004)》第一季第二集完整中英文对照剧本.docx VIP
- 广州版英语五年级上册unit9《itsmellsdelicious》课件.pdf VIP
- 小学六年级8班上学期期中家长会课件.ppt
文档评论(0)