欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    JAVA语言项目3 JAVA面向对象编程.ppt

    • 资源ID:6015658       资源大小:4.91MB        全文页数:195页
    • 资源格式: PPT        下载积分:10
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要10
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JAVA语言项目3 JAVA面向对象编程.ppt

    面向对象程序设计(Object Oriented Programming) 简称(OOP),是一种新兴的程序设计方法,其基本思想是使 用对象、类、继承、封装、消息等基本概念来进行程序设计 。类是Java程序中的最基本构件,即Java程序是一大堆类 的集合。 下一页 项目3 Java面向对象编程 锡 造 烧 果 餐 倦 此 土 瑚 蹿 慨 龋 种 八 儒 等 部 艺 婴 乐 矣 铅 囚 鳃 旅 铰 梢 疼 眶 穴 脐 玖 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 项目3 Java面向对象编程 3.1 项目概述 3.2 项目目的 3.3 项目支撑知识 3.4 项目实施 3.5 项目总结 3.6 扩展训练 靳 完 前 路 脑 婉 圃 篓 芝 锥 筷 我 确 二 妇 皑 犯 誊 额 炯 垣 血 橡 拆 羚 囱 汐 衷 反 读 资 背 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.1 项目概述 在本项目中主要学习面向对象程序设计的基本思想和面向对 象的概念,类的定义,成员变量和成员方法的定义及使用, 对象的创建和使用,类的继承和多态,访问控制和修饰符, 抽象类、接口和包的声明及实现方法。 返回 呸 示 杨 援 算 胶 者 烷 独 扑 废 户 槐 满 盛 簧 耻 骗 疯 佰 妖 雪 吾 切 缕 忿 灾 挨 矩 稗 钧 棉 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.2 项目目的 掌握创建和使用类对象、使用包的基本方法。 .理解继承和复用的概念。 .了解接口的声明及实现方法。 .理解多态性是如何扩充和维护系统性能。 返回 丽 肪 蹿 乔 鉴 纱 食 假 弃 酶 衍 难 梢 呜 兔 候 貌 笋 募 鲤 嘘 烬 针 堪 蝗 橙 路 虚 肋 俗 瑶 竖 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 面向对象是一种新兴的程序设计方法,或者是一种新的程序 设计规范(paradigm),其基本思想是使用对象、类、继承 、封装、消息等基本概念来进行程序设计。从现实世界中客 观存在的事物(即对象)出发来构造软件系统,并且在系统构 造中尽可能运用人类的自然思维方式。开发一个软件是为了 解决某些问题,这些问题所涉及的业务范围称作该软件的问 题域。其应用领域不仅仅是软件,还有计算机体系结构和人 工智能等。 在面向过程的设计中,程序员只限于使用语句构建软件,即 把语句集合起来组成方法(后面称之为函数或过程)。 下一页返回 髓 涛 乃 郴 泡 力 灰 骑 蒂 豢 伙 抗 诀 吗 阮 邦 磁 疾 初 曙 茧 宇 需 麦 仇 粮 肆 署 咎 簇 追 虽 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 如建筑师,只限于使用木、水、土等原材料搭建房屋,工作 多,效率低。并且在房子需重新翻盖时,所有的原材料将没 有用。但如果将水、土先烧成砖,木先制成门、窗等,盖房 时使用砖、门、窗成形的原料,只需考虑不同型号的门、窗 放的位置。即使已建成的房屋,需要重新翻盖,也不用从零 开始,砖、门、窗等原材料都可重新再用,可提高工作效率 ,降低成本。这一类工程设计类似于面向对象的程序开发。 上一页 下一页返回 哨 睁 古 胃 仗 跋 种 沦 磷 丸 跨 撮 趟 雄 夕 学 疮 烦 姓 摄 巢 挤 奖 屿 把 等 啮 锦 帽 烽 飘 麦 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 3.3.1项目开发背景知识 1面向对象的 概述 一、面向对象的基本概念 1.对象的基本概念 对象是代表现实生活中的实物的软件编程实体,比如说银行 账号,计算机用户,用户介面上的按钮,窗口菜单等。对象 是由它们的状态和行为定义的。例如,一个银行账号拥有一 种状态,诸如当前的收支状况,账户的所有入,允许的最小 交易额等,而它的行为则包括提取,存入,收支平衡等。 上一页 下一页返回 萨 快 抗 萧 栅 顺 留 猎 脾 群 匀 拼 屑 誊 倔 爹 蜕 惹 溪 犁 毯 猛 弓 沦 洼 刚 懦 殖 颈 蜘 漂 摩 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 对象具有两方面的含义: 在现实世界中,是客观世界中的一个实体; 在计算机世界中,作为真实世界的抽象,由一个数据集以及 对该数据集的操作组成。 2.类的基本概念 类:具有共同属性和行为的对象集合。 类与对象的关系:类是对象的抽象,对象是类的实例。 类是一个实体,它定义了一个对象的运行方式以及在对象被 创建或者说实例化的时候所包含的数据。类的作用就像一个 模板,一个或者多个对象可以依照它来创建。 上一页 下一页返回 渔 隆 海 吞 球 泡 诈 轴 雪 渝 首 烙 虑 臂 蠢 分 紊 葡 仕 戒 隅 洲 士 汉 讣 禾 宏 烤 鉴 篷 赚 礁 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 3.消息 消息:对象之间相互请求或相互协作的途径,是要求某个对象 执行某项功能操作的规格说明。 消息内容:通常包含接收方及请求接收方完成的功能信息。 发送方:发出消息,请求接收方响应。 接收方:收到消息后,经过解释,激活方法,予以响应。 消息的性质:同一对象可接收不同形式的多个消息,产生不同 的响应。 同一个消息可以发给不同的对象,所做出的响应可以截然不 同;发送方不需要知道接收方如何对请求予以响应的。 上一页 下一页返回 它 友 耐 澳 伪 仰 辱 赢 佃 里 蹭 键 惫 锋 酝 涕 冷 纵 羚 五 后 台 障 苏 财 谭 绦 符 述 霉 换 禄 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 消息就是向对象发出的服务请求,它应该包含下述信息:提供 服务的对象标识、服务标识、输入信息和回答信息。服务通 常被称为方法或函数。 举例说明:对象是具有某种特性和某种功能的东西。将同一种 类型的对象归为一个类,以类的形式描述对象的状态和功能 。例如,汽车是一类,其中如小轿车、中型面包车、大货车 等,可认为是对象。类是对象的抽象,对象是类的实例。那 么汽车就是Java中的类,判定某一对象是否是汽车,要看它 是否具有这些属性,而自行车不能叫汽车,因为它不具有发 动机属性。 上一页 下一页返回 搂 悯 铣 唐 扳 瞥 岸 庇 欺 搜 挝 蝉 泞 把 合 笼 廊 润 诅 务 司 耿 正 杖 愈 肃 腮 狞 柏 捐 凡 敌 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 在面向对象的程序设计中,将类的特征和行为分别命名为属 性和方法。例如,定义“电视机”这样一个类,如图3-1所示 。 电视机的属性和方法定义如图3-2所示。 一个类中定义的方法可以被该类的对象调用,对象方法的每 一调用被称作发送一个消息(message)给对象。对象间是 相互独立的,通过发送消息相互影响。采用消息可以让对象 的行为通过它的方法来表达。一个消息由三部分组成: 消息目标对象; 执行方法的名字; 上一页 下一页返回 鹤 呜 犬 砰 杨 阉 氦 衷 迟 煽 戌 客 暂 移 立 诵 蜂 蚊 噶 墟 厉 殃 处 厅 深 俗 旗 萄 芳 它 划 斤 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 执行方法所需要的参数(parameters) 。(因Java是一 个对象化的语言,对象也常被用来当作参数传递)。 方法。 表明对象所具有的行为,是对象与外界的接口。一个对象的 行为是由它上面的操作定义的,这些操作被叫做方法。方法 可以改变一个对象的状态,创建新对象,实现实用的功能等 。 作用:改变对象的属性,返回对象的属性。 二、面向对象的特点 上一页 下一页返回 悼 河 回 芥 萧 泽 再 抉 蒸 乌 姜 张 胺 恩 署 鹿 渠 申 喜 摔 鸣 线 宇 琴 诊 迸 惧 膜 矿 磨 狼 躇 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 (1)封装。隐藏实现细节。例如,对象可以看作是数据及作 用在这些数据上的封装体,它通过一个接口与外部进行交互 ,因此封装使得对象的内部实现与外部接口分离开来。这样 ,改变对象的内部实现并不影响使用这个对象的其他对象或 应用。这种封装性也体现了一种抽象和信息隐蔽。 (2)继承性。继承是指一个子类继承父类(或称为基类)的特 征(数据结构和方法)。在继承一个父类时,可以在子类中增 加新的数据结构和方法,也可以重定义从父类中继承下来的 方法。父类的特征并不受子类的影响,反之,在理想情况下 ,父类的内部实现的变化不会影响子类。 上一页 下一页返回 赁 圾 兆 茬 稿 磁 技 贸 芍 钻 效 玉 泌 丽 瘦 醛 茵 苟 呸 闪 渭 份 全 泰 靠 鲤 栏 得 紊 晾 樊 持 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 当然,一个子类可有多个父类,这种情况称为多继承(C+ 语言支持多继承)。继承带来的好处是软件的复用,使用继承 可以在已有软件构件的基础上构造新的软件,从而提高软件 的生产率并保证软件的质量。 简而言之,继承性是父类和子类之间共享数据和方法的机制; 继承性具有传递性;继承性包括单继承和多重继承。 继承性具有以下作用:使软件系统具有开放性;更好地进行抽 象与分类;增强代码的重用率;提高可维护性。 上一页 下一页返回 矗 盘 埠 数 暂 残 痈 鼓 泳 爬 归 速 舔 漏 妇 钝 港 咆 歉 鲍 嗜 澡 杠 滦 阀 榴 如 娇 绝 纬 现 乌 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 (3)多态性。不同的对象收到同一个消息可产生完全不同的 效果,这一现象叫做多态。多态的原意是指一个实体多个形 态。在面向对象程序设计中主要是指变量多态和方法多态, 变量多态是指同一个变量在运行时刻标识(表示)不同类型的 对象,而方法多态主要是指同一个方法做不一样的动作,例 如不同类的对象接受相同的消息(方法调用),但有不一样的 响应动作。多态使得消息发送者能给一组具有公共接口的对 象发送相同的消息,接收者作出相应的动作。变量多态是方 法多态的基础。多态通常与语言的动态绑定(Dynamic Binding)机制有关。 上一页 下一页返回 蒙 缓 剔 休 蝗 隧 姻 困 葵 援 泳 疤 淮 馆 蔑 缉 删 魂 酱 嫌 弘 瞥 惭 檬 赔 蓄 售 桶 里 淄 蜡 短 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 多态的效果:用户发送一个通用的消息,而实现的细节则由接 收对象自行决定。 多态性的作用:增强了操作的透明性、可理解性和可扩展性; 增强了软件的灵活性和重用性。 三、面向对象的优点 为什么现代程序设计语言会向面向对象编程靠拢?这是因为面 向对象编程具备了几个优点,比如:代码维护方便、可扩展性 好、支持代码重用技术等。这些优点是过程编程语言所不具 备的。下面我们就来谈谈面向对象技术的这些优点。 上一页 下一页返回 池 队 邵 筒 睹 莹 晚 块 挽 措 跋 愧 乾 拘 菇 椽 瑟 赐 进 絮 舟 式 娃 磊 链 污 甭 临 懂 中 旱 烛 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 (1)维护简单。 模块化是面向对象编程中的一个特征。实体被表示为类和同 一名字空间中具有相同功能的类,可以在名字空间中添加一 个类而不会影响该名字空间的其他成员。 (2)可扩充性。 面向对象编程从本质上支持扩充性。如果有一个具有某种功 能的类,就可以很快地扩充这个类,创建一个具有扩充的功 能的类。 (3)代码重用。 上一页 下一页返回 宏 凛 跳 领 状 衅 熏 圾 嚏 玻 畔 不 市 汲 准 社 孰 丙 搁 孕 消 身 扭 违 遥 涎 跌 借 摊 殖 榷 朽 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.2 项目支撑知识 由于功能是被封装在类中的,并且类是作为一个独立实体而 存在的,提供一个类库就非常简单了。事实上,任何一个编 程语言的程序员都可以使用类库,类库提供了很多的功能。 更令人高兴的是,可以通过提供符合需求的类来扩充这些功 能。 3.3.2项目开发背景知识 2类的定义 进行Java程序设计,实际上就是定义类的过程。一个Java 源程序文件往往是由许多个类组成的。从用户的角度看, Java源程序中的类分为两种。 上一页 下一页返回 千 亭 簿 跳 阎 怪 夜 蛙 透 靳 默 儒 录 骇 秀 釉 碟 固 诲 滓 简 首 碎 铀 懒 履 芋 端 隆 顷 草 淡 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 (1)系统定义的类,即Java类库,它是系统定义好的类。类 库是Java语言的重要组成部分。Java语言由语法规则和类 库两部分组成,语法规则确定Java程序的书写规范;类库则 提供了Java程序与运行它的系统软件(Java虚拟机)之间的 接口。Java类库是一组由它的发明者SUN公司以及其他软 件开发商编写好的Java程序模块,每个模块通常对应一种特 定的基本功能和任务,且这些模块都是经过严格测试的,因 而也总是正确有效的。当自己编写的Java程序需要完成其中 某一功能的时候,就可以直接利用这些现成的类库,而不需 要一切从头编写,这样不仅可以提高编程效率,也可以保证 软件的质量。 上一页 下一页返回 蒜 栗 盎 健 洪 奢 拢 扁 快 侍 剐 屎 详 盎 冻 绵 鸵 誉 浸 连 八 船 阂 兹 拄 抗 总 颖 悲 捶 互 舀 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 (2)用户自己定义的类。系统定义的类虽然实现了许多常见 的功能,但是用户程序仍然需要针对特定问题的特定逻辑来 定义自己的类。用户按照Java的语法规则,把所研究的问题 描述成Java程序中的类,以解决特定问题。 一个类的定义应包含两部分:类的声明和类的实体。 一、类的声明 类声明包括关键字class、类名及类的属性。类名必须是合 法的标识符,类的属性为一些可选的关键字。其声明格式如 下,)内参数为可选项。 上一页 下一页返回 机 曾 丹 九 坑 蚂 酪 肮 险 己 戏 帅 射 植 硬 漾 牵 呀 骚 鉴 拧 邮 俯 窝 雕 落 拓 互 猴 黄 嘲 某 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 其中,修饰符public, abstract, final说明了类的属性 ,className为类名,superclassName为类的父类的 名字,interfaceNameList为类所实现的接口列表。修饰 符含义如下: abstract:声明该类不能被实例化。 final:声明该类不能被继承,即没有子类。 class class name:关键字class告诉编译器表示类的声 明以及类名是class Name。 上一页 下一页返回 诵 概 虽 射 号 完 靖 以 质 保 汰 羹 碗 彪 霄 衙 冕 豌 优 腥 告 铝 倚 刷 租 淋 赐 轮 淮 甚 署 樟 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 extends super class name:extends语句扩展 super class Name为该类的父类。 implements interface Name List:声明类可实现一 个或多个接口,可以使用关键字implements并在其后面给 出由类实现的多个接口名字列表,各接口间以逗号分隔。 二、成员变量 成员变量的声明方式如下: 上一页 下一页返回 琶 秽 卯 手 熔 悬 黍 刀 常 肖 碌 海 覆 类 枉 文 鞋 邢 涪 娘 搀 跋 氏 匀 踩 休 宾 涌 垂 戮 威 砚 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 其中, /成员变量 static:静态变量(类变量);相对于实例变量。 final:常量。 transient:暂时性变量,用于对象存档。 volatile:贡献变量,用于并发线程的共享。 三、成员方法 方法的实现包括两部分内容:方法声明和方法体。 上一页 下一页返回 沂 吩 厕 哀 凝 肿 疯 俱 箕 瓤 传 锦 刮 窥 瞥 敞 本 榷 悸 厩 挎 单 站 德 早 辨 啃 氰 郴 甲 骇 木 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 方法声明中的限定词的含义。 static:类方法,可通过类名直接调用。 abstract:抽象方法,没有方法体。 final:方法不能被重写。 native:集成其他语言的代码。 Synchronized:控制多个并发线程的访问。 上一页 下一页返回 郁 鹏 淡 盔 沙 漳 谆 著 荆 膘 堵 擞 婉 丹 标 悼 疙 顶 戏 戈 惊 闯 谴 响 脚 垢 变 涤 庚 痘 桌 玉 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 【例3-1】一个完整的类定义如下。 上一页 下一页返回 操 栋 吊 但 泄 璃 瓜 忠 部 踢 鹏 夹 售 译 躇 稀 腹 谍 臂 噬 宫 妈 花 汇 臂 高 识 及 晦 眯 绷 榜 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 3.3.3项目开发背景知识 3成员变量和成 员方法 一、成员变量 成员变量是类定义中的重要组成部分,从不同的角度区分, 它可以分为多种类型。 1.从变量定义的位置分 根据变量定义的位置划分,变量可以分为全局变量和局部变 量。 上一页 下一页返回 檬 引 军 盟 屎 廊 劣 肛 疆 翁 瞳 浸 整 伺 疮 眶 簇 火 妇 涧 剁 澳 恤 丸 瘤 扶 窃 茨 绸 迸 哗 叫 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 全局变量:定义在类中任何方法的外部,其作用范围为该变量 所属的整个类。 局部变量:定义在类中某一方法的内部,其作用范围为该变量 定义的地方起,至所属方法结束的地方为止。 【例3-2】测试全局变量的操作。 上一页 下一页返回 右 拣 耗 荆 锈 箭 袋 阀 锅 值 姿 颊 脉 蚊 胡 惜 佬 煤 启 摩 暖 呆 巩 含 庶 读 惮 娜 硅 苛 伞 宛 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 上一页 下一页返回 愿 瀑 明 昧 刘 祟 厩 伎 绍 私 鲜 占 拽 膘 寞 劣 拦 座 沁 社 马 远 菱 鳖 隶 烃 际 蔡 己 惹 意 押 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 程序运行结果如图3-3所示。 从此例我们可以看出,全局变量作用于其所在的整个类,在 确保全局变量定义在类中任何方法的外部的前提下,它可以 被随处安放,即使它的定义处在该全局变量的使用处之后。 如例子中的全局变量var a, var b的定义语句,完全可以 把其安排在类的prim()方法定义体的右括号之后,程序运行 的效果相同,这一点是与C/ C +所不同的。 【例3-3】测试局部变量的操作。 上一页 下一页返回 庐 阔 量 忘 柞 妖 陪 一 暗 咎 辽 果 秆 私 倍 娱 踪 渭 壶 楷 兼 奥 颧 遮 懒 哭 矫 绚 蕴 增 墒 臻 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 上一页 下一页返回 拨 尊 照 癌 逊 躲 硫 江 僻 逾 训 鳞 袖 快 巴 埋 蟹 辉 偿 蜀 浇 歇 斧 去 撮 阶 贫 震 饶 捕 烦 猜 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 运行结果如图3-4所示。 2.从变量的数据类型分 根据变量所属的数据类型划分,变量可以分为基本类型变量 和对象类型变量。 所谓基本类型变量,就是指我们在第二章中讲述的8种基本数 据类型,如int, double等,而由系统类库或者自定义类定 义的变量,则为对象类型变量。这正如我们讲数据类型时对 应的,基本类型对应的是基本变量,在一个类中又被称为成 员变量。对象类型对应的就是对象类型变量,在类中又可以 被称为实例变量。 【例3-4】基本类型变量和对象型变量测试。 上一页 下一页返回 谓 映 庆 惨 溃 居 懒 棱 蠢 烁 掉 钾 忌 这 浊 水 雇 锦 溉 戮 添 兑 移 粱 帜 叼 念 阁 准 盈 衣 劈 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 上一页 下一页返回 蕉 鉴 把 冕 夷 趴 剃 王 综 唾 硷 汕 核 增 啪 谅 撼 奋 逞 菏 邮 赚 货 洞 渠 兜 腮 市 酋 苏 茸 墩 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 程序运行结果如图3-5所示。 上一页 下一页返回 毡 惨 醛 型 拷 舔 蚁 绰 烩 加 刀 涂 培 背 雁 丫 蝗 斧 衍 窍 封 呀 轨 嫂 暇 忽 痕 棱 铃 左 壁 舍 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 【例3-5】简单数据类型与引用数据的区别。 上一页 下一页返回 门 鞘 弧 倪 搭 舅 可 充 柄 酪 流 策 靶 尸 蛇 轮 伯 扬 钩 虚 腺 腥 胡 肌 苫 萤 藩 拐 仅 离 狡 鄙 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 程序运行结果如图3-6所示。 上一页 下一页返回 筷 扛 雀 蔑 递 惋 摧 困 高 寐 温 钧 院 目 巍 疗 悄 蓖 匹 滥 夕 照 厩 箩 穆 沁 脏 盛 廊 嚼 桶 伯 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 3.从变量的性质分 根据变量的性质划分,可以将变量分为类变量和成员变量。 所谓类变量(class variable),就是用关键字static声明 的全局变量,它是属于类本身的,不代表任何对象的状态。 所谓成员变量,就是与类变量相对的,没有用static声明的 其他变量,它是与具体对象相关的,保持对象的状态。 类变量的使用能满足这样的需求,即有时想有一个可以在类 的所有实例中共享的变量。比如,这可以用作实例之间交流 的基础或追踪已经创建的实例的数量。数值型类变量在进行 数值计算时候有其特殊性,即每次参加运算时的初始值为其 上次运算的结果值。 上一页 下一页返回 缚 哄 区 寞 韩 其 理 窍 蓄 腥 篱 闽 蹋 箔 抬 邵 阻 饯 朵 持 咽 漓 代 蓉 佯 镊 捷 淌 蚜 罢 夷 脸 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 类变量与成员变量的通用调用格式如下。 类变量:类名.类变量名 成员变量:对象名.成员变量名 【例3-6】类变量和成员变量测试 上一页 下一页返回 馒 藤 略 姜 谈 讫 踞 祥 劳 捡 其 涣 出 胳 逃 掏 壮 奖 埂 祷 娜 俯 冲 朝 鸥 灯 沧 设 誓 恼 居 坎 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 上一页 下一页返回 弄 庄 聚 徘 剑 江 牟 郝 靴 禾 拷 壳 浦 鸟 闹 正 雹 琵 亡 绪 替 播 剐 固 疮 徒 壶 戏 俗 汝 瘁 躁 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 程序运行结果如图3-7所示。 此例中,设置l对象计数器counter为static型,要注意, 若没有为该类变量初始化的话,那系统将为其设置默认值0。 二、成员方法的使用 成员方法通常用来描述该类对象所具有的功能或操作,反映 对象的行为,是具有某种相对独立功能的程序模块。 1.成员方法声明 在Java程序中,成员方法的声明只能在类中进行,格式如下 : 上一页 下一页返回 趁 聪 苫 洒 估 无 毫 顶 溅 土 眼 酞 咕 话 迹 孝 鸦 烛 犁 蓄 彭 铲 董 桌 涝 楼 照 胀 省 嚎 兹 鹊 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 一修饰 返回值的类型 成员方法名(形式参数表)throw 一异常表 说明部分 执行语句部分 上一页 下一页返回 逆 悬 拷 勺 棍 校 崎 诈 进 舞 畦 澈 酵 钙 孟 些 格 郎 饥 知 则 孝 枉 挣 脖 哀 署 设 试 慎 掣 存 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 成员方法的声明包括成员方法头和方法体两部分,其中:成员 方法头确定成员方法的名字、形式参数的名字和类型、返回 值的类型、访问限制和异常处理等;方法体由包括在花括号内 的说明部分和描述该方法功能实现的执行部分组成,执行部 分一般由变量声明语句、赋值语句、流程控制语句、方法调 用语句、返回语句等Java允许的各种语句成分组成,是程序 设计中最复杂的部分,几乎会用到我们已经学习过的和将要 学习的绝大多数内容。 上一页 下一页返回 翠 锈 拘 暇 总 毅 咋 湃 啪 浇 描 烂 篙 舞 荆 稗 惟 裕 炊 胖 酷 场 佐 奄 暗 筷 造 沽 凰 勉 廷 怔 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 在成员方法头中: (1)修饰符。修饰符可是 public,private,protected 等访问权限修饰符,也可以是static, final, native, abstract等非访问权限修饰符。访问权限修饰符指出满足什 么条件时该成员方法可以被访问。非访问权限修饰符指明数 据成员的使用方法。具体参阅下面有关内容。 (2)返回值的类型。返回值的类型用Java允许的各种数据类 型关键字(例如,int, float等)指明成员方法返回结果值的 数据类型。若成员方法没有返回值,则在返回值的类型处应 写上void关键字。 上一页 下一页返回 食 振 敌 季 舞 造 巳 亢 邪 童 实 旺 阎 娃 惋 涯 同 诫 作 列 驭 鞍 陨 鼠 车 又 弘 妓 慢 白 线 迄 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 (3)成员方法名。成员方法名也就是用户遵循标识符定义规 则命名的标识符。 (4)形式参数表。成员方法可分为带参成员方法和无参成员 方法两种。对于无参成员方法来说则无形式参数表这一项, 但其后的圆括号不可省略;对于带参成员方法来说,形式参数 表指明调用该方法所需要的参数个数、参数的名字及其参数 的数据类型,其格式为:(形式参数类型1,形式参数名1,形 式参数类型2,形式参数名2,) (5) throws!异常表。它指出当该方法遇到一些方法的设 计者未曾想到的异常问题时如何处理。这部分内容将在项目4 中作专门介绍。 上一页 下一页返回 找 舱 匙 吼 谭 关 缸 睬 责 埔 崭 躇 畜 舰 烛 头 猫 鼓 精 舷 榨 窑 其 后 召 戍 偿 纵 连 偷 构 茵 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 2.成员方法引用 成员方法的引用可有下述几种方式。 方法语句:成员方法作为一个独立的语句被引用。例如, add ( a, b) 。 方法表达式:成员方法作为表达式中的一部分被引用。例如 ,f3 =2 +add1(f1,f2)。 方法作为参数:一个成员方法作为另一个成员方法的参数被 引用。例如,add (a, add1 (f1,f2),这里add1()是 方法。 通过对象来引用:即通过形如“对象名.方法名”的形式来引 用对象,如Dane.ShowDog( 25 , 25),这里Dane是 对象名,ShowDog是方法名。 上一页 下一页返回 摹 船 踞 膘 波 酋 喀 开 忍 趁 鸽 凳 吃 崭 局 灌 盯 旁 痊 母 乞 英 漏 幻 蛙 请 缎 射 疫 膘 碗 廖 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 3.形式参数与实际参数 一般来说,可通过如下的格式来引用成员方法: 成员方法名(实参列表) 但在引用时应注意下述问题。 对于无参成员方法来说,是没有实参列表的,但方法后的 括弧不能省略。 对于带参数的成员方法来说,实参的个数、顺序以及它们 的数据类型必须与形式参数的个数、顺序以及它们的数据类 型保持一致,各个实参间用逗号分隔。实参名与形参名可以 相同也可以不同。 上一页 下一页返回 仰 棠 硼 孟 震 欣 原 座 褐 逆 咨 泥 卷 塌 充 蔫 疗 吩 觉 阳 氮 铱 私 袖 圣 虐 横 呐 骏 般 翟 赖 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 实参也可以是表达式,此时一定要注意使表达式的数据类 型与形参的数据类型相同,或者使表达式的类型按Java类型 转换规则达到形参指明的数据类型。 4.构造方法 在类的构造中有一种特殊的成员方法,被称为构造方法。构 造方法的应用通常具有明确的目的:给对象进行初始化,即对 类中的成员变量赋值,这种初始化动作在new返回新创建对 象的引用前完成。构造方法具有如下的明显特点。 构造方法的名字与其所属类的类名相同。 构造方法是给对象赋初值,没有返回值。 上一页 下一页返回 溅 有 质 嚷 蛙 求 潜 爪 包 氦 读 苗 噪 悼 迎 唾 溯 棕 澜 味 敛 凛 驰 系 铲 吮 好 炳 漂 劝 冀 沦 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 构造方法不能被程序显式调用,由new构造对象时系统自 动调用。 构造方法可以有零个或多个形式参数。 构造方法可在类中由用户定义,若用户没有定义,系统将 自动生成一个空构造方法。 构造方法可以通过重载实现不同的初始化方法。 【例3-7】构造方法测试。 上一页 下一页返回 誉 氟 访 抒 弗 三 责 驶 左 葫 林 娇 恰 补 素 窄 田 桐 琉 扁 积 侄 桅 冲 每 纺 币 犊 黍 静 计 摆 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 J A V A 语 言 项 目 3 J A V A 面 向 对 象 编 程 3.3 项目支撑知识 上一页 下一页返回 次 骇 粗 询 又 适 全 朴 岳 文 勒 巢 嗜 乐 民 矿 至 椿

    注意事项

    本文(JAVA语言项目3 JAVA面向对象编程.ppt)为本站会员(京东小超市)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




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

    三一文库
    收起
    展开