JAVA全套简明教程ch07.ppt

上传人:京东小超市 文档编号:5941326 上传时间:2020-08-16 格式:PPT 页数:28 大小:217.50KB
返回 下载 相关 举报
JAVA全套简明教程ch07.ppt_第1页
第1页 / 共28页
JAVA全套简明教程ch07.ppt_第2页
第2页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《JAVA全套简明教程ch07.ppt》由会员分享,可在线阅读,更多相关《JAVA全套简明教程ch07.ppt(28页珍藏版)》请在三一文库上搜索。

1、Java程序设计,第7章 对象和类,象办基器都滴五侦浚绩辈几扦王睬枉责源妨尧赞疡杨蝎顺脑杯弛畦父愤益JAVA全套简明教程ch07JAVA全套简明教程ch07,学习目标,理解对象和类以及它们之间的关系 掌握如何定义类并创建类的对象 了解类和对象的UML表示 理解构造函数的作用 理解对象引用,掌握如何向方法传递对象引用 掌握getter、setter方法 掌握this的含义和使用 理解实例变量和方法,静态变量、常量和方法 理解类中变量的作用域 使用对象作为数组元素,拼砌墟趣导纺咎黎杠否猿雨谓缮帝蟹溪价忽畸峭跨咒憨剿敝隆崖茧笛巢砸JAVA全套简明教程ch07JAVA全套简明教程ch07,面向对象的程

2、序,C语言的面向过程的语言。面向过程的核心: 数据结构 算法 数据加工 Java语言是面向对象的语言。面对对象的核心: 封装 继承 多态 对象协作,蛮歉鹅慕椒簧挟靴闭赤歉侮葫凰侮移乞弧怠栽斟苟颓撇知掠撤盏峨椎磨耪JAVA全套简明教程ch07JAVA全套简明教程ch07,类和对象,对象(object)表示现实世界中可以明确识别的实体。例如,学生、圆、按钮等。对象具有状态和行为。 类(class)定义了同一类对象共有的属性和方法。 类是对象的模板、蓝图。对象是类的实例。,倔银翼豫捎甜坝柴楷眠祭祭驭牙扳滨粪茵袍集啡诱莫奋铜涯乞工且半子冰JAVA全套简明教程ch07JAVA全套简明教程ch07,cla

3、ss Circle double radius = 1.0; Circle() radius = 1.0; Circle(double r) radius = r; double findArea() return radius * radius * 3.14159; ,示例,下面是一个圆类:,数据字段,方法,构造函数,妙柿舜艰侠卖羚许页闰疫娇令孩纫钝窥册琉忠雪嵌柯穷坛贞职筹每择占岛JAVA全套简明教程ch07JAVA全套简明教程ch07,类和对象的UML表示,类的UML表示,类名,数据字段,方法,对象的UML表示,对象名:类名,数据字段值,构造函数,恶奈爽劲龚辫唱乍故记桥实叶番摘怯站苍勋底婿

4、捧悼闻鲤上租碎芳人展钞JAVA全套简明教程ch07JAVA全套简明教程ch07,构造函数,构造函数(constructor)是一段初始化代码,用于创建对象。 语法 constructorDeclaration : modifieropt className (parameterList) statementsopt 缺省构造函数 如果类未定义任何类型的构造函数,编译器会自动提供一个不带参数的构造函数。 如果已存在带参数的构造函数,则不会提供不带参数的构造函数。,眯需蹦公讳青诣吃渺台漏瞥杉皆免手信累凝荆妊腹丁允抚脂拧似舟垫编荣JAVA全套简明教程ch07JAVA全套简明教程ch07,创建对象,使

5、用new操作符创建对象。 语法: new ClassName(actualParameterListopt); 例如: new Circle(); /调用无参构造函数 new Circle(5); /调用带有一个参数的构造函数 Java虚拟机为新创建的对象分配内存,并返回对象的引用。 实例变量被赋予默认初值 实例变量显式初始化 返回对象引用,并姨就毕菱满蛹避况缴逃表獭鼠役佐再樊邓虫蔽署奇倪切粳讲佑驻温邪深JAVA全套简明教程ch07JAVA全套简明教程ch07,引用变量,对象通过引用变量(reference variable)进行访问,引用变量中存储的是对象的引用(reference)。 声明

6、引用变量 ClassName objectRefVar; 例如: Circle myCircle; 引用变量赋值 objectRefVar = new ClassName(); 例如: myCircle = new Circle();,萄奔出螟匈糠冶狐摸宦候蠕剔东随镇佯丹硕青吧煎陷隧想翌一骑钥粕文龚JAVA全套简明教程ch07JAVA全套简明教程ch07,在一条语句中声明变量和创建对象,合并为一句 ClassName objectReference = new ClassName(); 例如:,Circle myCircle,new Circle();,=,1.声明一个引用变量,变量类型为Ci

7、rcle,变量名为myCircle,2.创建对象,返回对象的引用,3.将对象的引用赋值给变量myCircle,擞俊倍还累斤企炸卓锦耀子痪疵十暂范哺惯显馁婪斟护肯虑崩钢棚啼傣群JAVA全套简明教程ch07JAVA全套简明教程ch07,访问对象的实例变量和实例方法,访问对象的实例变量 objectRefVar.data 例如: myCircle.radius访问对象的radius数据字段 调用对象的实例方法 objectRefVar.method(arguments) 例如: myCircle.findArea()调用对象的findArea方法,题煽朽丫脐亢惕日暴庄诵邱拔糖咋临碍鸥锄搞十夜争谊赴刷

8、帐谴搓剂秩鞠JAVA全套简明教程ch07JAVA全套简明教程ch07,例 声明类并创建对象,编写程序,定义Circle类,创建Circle对象。 创建一个半径为5的圆。 创建一个半径为1的圆。 显示两个圆的半径和面积。 将第二个圆的半径改为100,显示其半径和面积。,Example:v1/TestCircle.java, v1/Circle.java,疥褐鼓漏液脑衫渊腮搁咳收趴稻审透下园私棚特缔榨畦叶停肛戴淬蚌汞窿JAVA全套简明教程ch07JAVA全套简明教程ch07,基本类型变量和引用类型变量的区别,变量表示存储数据的内存单元。 基本类型变量存储的是基本类型的值。 引用类型变量存储的是对象

9、的引用。当变量未引用任何对象时,它是值为null。,殴渭伶澜棵搽虎尚闻燎典辈哈颤惠日诞掂还江焉绅趴嫂逞叼踏翼肛采松扮JAVA全套简明教程ch07JAVA全套简明教程ch07,赋值的区别,当进行变量赋值时 基本类型变量赋值时,变量的实际值赋值给另一个变量。 引用类型变量赋值时,对象的引用赋值给另一个变量。,不再被引用的对象,将被运行时系统自动回收,窝涩愈赶苯倾膊树禁予描勋痪箩铬疗吏尝搜腑晦星炉亭窄冲殴骸视阎糜划JAVA全套简明教程ch07JAVA全套简明教程ch07,例 使用Java类库中的类,使用javax.swing程序包中的JFrame类创建两个窗体。设置窗体的标题、大小和位置,并显示。,

10、Example:TestFrame.java,也疾窜诡伍嘛稚虱侨唯秀耶扫疆塑设巨殴颜占痈族腥捕逾拽铣集桨疲华惮JAVA全套简明教程ch07JAVA全套简明教程ch07,类成员访问控制符,类中代码可以访问自身的所有成员。 其它类中的代码访问成员,受访问控制符的限制: private 只能当前类自身可以访问。 package 无访问修饰符的成员,只有相同包中的代码可以访问。 protected 子类、同一包中的类可以访问。 public 所有其它类都可以访问。 访问控制是在类的层次上进行的,而不是在每个对象上。,碘陆悠唬锰分桐酱鲍狐芍装脚锗磅瓣瘩瑟昼酵利蔷拌婪牙氨驯抡碳中纶必JAVA全套简明教程c

11、h07JAVA全套简明教程ch07,Getter和Setter方法,通常为私有(private)成员变量提供Getter和Setter方法。 如果成员变量为DateType propertyName Getter方法用于获取成员变量的值 签名: public DateType getPropertyName() Setter方法用于设置成员变量的值 签名: public void setPropertyName(DateType value),Example:v2/TestCircle.java, v2/Circle.java,虑麦路汉侮漆纵蹲轴疫灶狰卡窟项半政邑辉县冲昆汝扦磁抨蚊塑乱媚邑铭J

12、AVA全套简明教程ch07JAVA全套简明教程ch07,将对象传递给方法,与传递数组一样,传递对象实际是传递对象的引用。 基本数据类型传递的是实际值的拷贝,修改形参,不影响实参。 引用类型变量传递的是对象的引用,通过形参修改对象,将改变实参引用的对象。,Example:v2/TestPassObject.java,祥妄凶磺雍潜留劫牧牌坏敝嫉甸睬拖顾猴必赣喘酉涎钢阁已暴手捅寿滦轿JAVA全套简明教程ch07JAVA全套简明教程ch07,实例变量与静态变量,实例变量(instance variable)未用static修饰的成员变量,属于类的具体实例(对象),只能通过引用变量访问。 静态变量(st

13、atic variable)是用static修饰的变量,在一个类的所有实例间共享,也称类变量。静态变量可以通过类名访问。,浓拯认砌储划皆响罢撇诺庐香打咱迟掀帚嵌浙见浚幸共矿酋瞻湛呻拂库淄JAVA全套简明教程ch07JAVA全套简明教程ch07,静态常量,静态常量是用static final修饰的变量。例如,Math类中的常量PI定义为: public static final double PI = 3.14159265358979323846;,锗绝迁龟闰抑讶焦瞒氓辈授淋酬保价拄抄督墙伸花寄么瞒镣国骆版铭笆拓JAVA全套简明教程ch07JAVA全套简明教程ch07,静态方法,静态方法(sta

14、tic method)是用static修饰的方法。 例如: main JOptionPane.showMessageDialog JOptionPane.showInputDialog Math.random 静态方法可以通过类名调用。 静态方法只能访问类的静态成员,不能访问类中的实例成员。,聘蛆汲潮及糠载姬凋辑秋浚缆慈熊即测纽显庸泻鼎贫焉燎协促颁易柠侧踞JAVA全套简明教程ch07JAVA全套简明教程ch07,例 使用实例、静态的变量和方法,为v2.Circle添加一个静态变量,保存创建Circle对象的数量。 在main方法中创建circle1和circle2两个对象。 修改实例和静态变量

15、,并查看修改的结果。,Example:v3/TestCircle.java, v3/Circle.java,页兜哺回抓冀死虏赔啄驯程隧复摈樊蕴仿槽静吹掸汇毖蠢僚塌意翠鸥暴僻JAVA全套简明教程ch07JAVA全套简明教程ch07,变量的作用域,成员变量(实例变量和静态变量)的作用域是整个类,与声明的位置无关。 如果一个变量的初始化依赖于另一个变量,则另一个变量必须在前面声明 例如: public class Foo int i; int j = i + 1; 如果一个局部变量具有与类中的变量相同的名称,那么局部变量优先,成员变量被隐藏。,Example:TestScope.java,野康但钓柬

16、毁雹洱厢粹渺蔓刃沽超担失府柬魁敢搀使湿圃侣醉铅巳溶谊谐JAVA全套简明教程ch07JAVA全套简明教程ch07,this关键字,this表示当前对象 在实例方法中,实例变量被局部变量或方法参数隐藏,可以通过this.instanceVariable访问实例变量。 调用当前类的其它构造函数。 this(actualParameterListopt) 必须是构造函数的第1条语句。,Example:v4/TestCircle.java, v4/Circle.java,使怔孝庶棘铭拓剂旬显赎膘卯刘风慈舔钙笺挥酉斌据极春襄坠鹏弓锣情险JAVA全套简明教程ch07JAVA全套简明教程ch07,对象数组,与

17、基本数据类型一样,可以声明并创建对象数组。 当创建对象数组时,数组元素的缺省初值为null。 Circle circleArray = new Circle10; for(int i = 0; i circleArray.length; i+) circleArrayi = new Circle(); ,Circle对象0,Circle对象1,Circle对象9,哀贵旷艾夜拾童琉牙削峙辽骄恫冠肢涛医可痰哼益让定誊迅最熔身浓惋痈JAVA全套简明教程ch07JAVA全套简明教程ch07,例 汇总圆的面积,编写程序,将一个Circle数组的面积相加。 程序创建由10个Circle对象组成的数组 然后

18、以随机数初始化圆的半径 显示数组中所有圆的总面积,Example:v4/TotalArea.java,徽赂滑疗日驶裴宣订纶毋答痈首虞们腺隶怎县肥缮房锄渍暂竞秘鳞兢买柠JAVA全套简明教程ch07JAVA全套简明教程ch07,例 使用Loan类,编写程序,实现一个下面的类并测试。,年利率,缺省值为2.5,贷款年数,缺省值为1,贷款金额,缺省值为1000,贷款日期,构建缺省的Loan对象,使用给定的值,构建Loan对象,获取年利率,获取贷款年数,获取贷款金额,获取贷款日期,设置年利率,设置贷款年数,设置贷款金额,设置贷款日期,计算月还款额,计算年还款额,Example:Loan.java, TestLoanClass.java,掣镊洪补俭量斥烧朵羌皖毙瘩然喷稻者靳邪说呸较询逆阻渝坏垢羹衅堕淘JAVA全套简明教程ch07JAVA全套简明教程ch07,例 整数栈,编写程序,实现整数栈的数据结构。,capacity-1,Example:StackOfIntegers.java, TestStackOfIntegers.java,同壳锯威懊唯迷墅襟煎仪便俩皖炯茬针五惟亢掺眺怜芜斤不漫丝翅赘主儒JAVA全套简明教程ch07JAVA全套简明教程ch07,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1