- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
03类与对象(二)
第三章 类与对象(二) 回顾 理解类的封装 理解static关键字的使用 理解类的继承 理解final关键字的使用 一、以对象为中心思考问题 要以对象为中心思考问题,首先要识别出问题中的对象,以及对象上的属性与可操作的方法。 1.1 识别问题中的对象与属性 问题: 有一个账户,账户中有存款余额,您可以对账户进行存款和提款的动作,并可以查询以取得存款余额。 1.2 识别对象上的方法 问题: 有一个账户,账户中有存款余额,您可以对账户进行存款和提款的动作,并可以查询以取得存款余额。 1.3 类定义的实现 参见文件Account.java 类的定义 定义成员 定义构造函数 1.4 程序的运行 参见文件AccountDemo.java 1.5 类的封装 二、static修饰符的使用 静态成员 静态方法 静态方法 三、类的继承 3.1 继承的特点 具有层次结构 子类具有父类的属性和方法,实现了代码复用,减少代码冗余 子类有自己新的属性和方法 子类可以重写(覆盖)父类方法 3.2 继承Person extends关键字 super关键字 3.3 继承的优点 3.4 方法重写 子类重写父类的方法 3.5 向上转型 在面向对象的编程中,生成和使用程序代码最有可能采用的方法就是直接将数据和方法包装进一个类中,并使用该类的对象,而继承技术其实是不太常用的。尽管我们在学习OOP的过程中多次强调,但并不意味着要尽可能的使用它,应该慎用继承技术。 一个最清晰的判断办法就是问一问自己是否需要从新类向基类进行向上转型,如果必须向上转型,则继承是必要的;但如果不需要,则应该好好考虑自己是否需要继承。 四、final 修饰符 4.1 final 关键字/final类 final 修饰符可应用于类、方法和变量。 final在应用于类、方法和变量时意义是不同的,但本质是一样的:final表示不可改变。 声明为final的类不能被继承。 final 类示例: java.lang.String 4.2 final 方法 final方法不能被子类覆盖。 final 类的所有方法都为隐式的 final 方法。 4.3 final 变量 final变量的内容不能被修改。 声明final变量后,只能被初始化一次。 一个final变量实质上是一个常量。 总结 类的封装 访问器 getName setName 在JAVA中实现继承 static 静态变量,静态方法 final 变量不能修改,类不能继承,方法不能重写 final class TestFinal { int i = 7; int j = 1; void f() {} } class Further extends TestFinal {} final类不能被继承 class TestFinal { final void f() {} } class Further extends TestFinal { final void f(){} } final方法不能被覆盖 class FinalDemo { public static void main(String args[]){ final int noChange = 20; noChange = 30; } } final变量不能被修改 * 对象由属性和行为组成 类是具有相同属性和行为的一组对象的集合 类的变量和方法可被该类的对象(实例)访问 圆点符号用于访问对象的成员 构造函数在创建对象时初始化对象 方法重载使实现方式变得简单 本 次 课 目 标 账户 存款余额 账户 存款余额 存款 取款 查询余额 账户 存款余额 存款 取款 查询余额 账户实例 账户实例 账户实例 在一个java文件中可以有多个类,但只能有一个类被定义为public,且文件名必须与这个public的类同名。 public class Account{ //文件名必须是Account.java // 类内容 } class SomeClass{ // 类内容 } class OtherClass{ // 类内容 } 说明 基于安全性的考虑,定义类成员的基本原则是:“信息的最小化公开”,即尽量通过方法来访问成员变量。 说明 通过公有方法访问私有成员的好处之一是:如果存取私有成员的流程改变时,只需修改公有方法即可。 构造函数的作用是在创建对象时初始化一些必要的信息。 说明 构造函数可
文档评论(0)