网站大量收购独家精品文档,联系QQ:2885784924

Java程序设计及应用 李宗军 03 3新.pptVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8讲:面向对象(3) 内容提要 内部类 对象之间的关系 面向对象程序设计的基本原则 教学要求 掌握内部类的各种类型及其编程 理解并掌握对象之间的五种关系 了解面向对象程序设计的基本原则 内部类 内部类分为3种: 成员内部类 方法内部类 匿名内部类。 成员内部类 成员内部类与类的成员(变量或方法)的地位是相同的,因而在修饰符和访问空间上相似,在这个意义下,可以把成员内部类当作一个成员来看待。 成员内部类按照有无static修饰又分为两类: static成员内部类 非static成员内部类。 static成员内部类 static成员内部类,可以在类或者Java接口中声明。例如。在类的内部声明一个内部类: 例程 在接口内部声明一个内部类: 例程 通过上面两个程序,可归纳static成员内部类的定义和使用方式如下: (1)在类或者接口内部,使用static修饰符来声明一个成员内部类,可以有也可以没有访问修饰符。 (2)在使用new创建该内部类对象时,外部类或接口相当于一个Java包。 (3)可在该内部类中直接访问外部类或者接口的static成员,访问非static成员只能通过创建外部类对象来实现,注意Java接口不能被实例化,从而在接口中定义的成员都是static的(接口中的成员的static修饰符可省略,省略后仍是static的)。 (4)声明该内部类体中的成员的方式和普通类相同。 非static成员内部类 非static成员内部类自然不能使用修饰符static,因此只能在类(不能在Java接口)中声明该类型的内部类。 例程 通过上面的例程可以总结出非static成员内部类的定义和实例化方法如下: (1)只能在类中(不能在接口中)声明非static成员内部类,修饰符不能有static。 (2)能够直接在该内部类中访问外部类的一切成员,甚至是private成员。 (3)该内部类中不能声明static成员。 (4)只能先创建外部类对象,然后在外部类对象内创建内部类对象(new OuterClass().new InnerClass())。 方法内部类 方法内部类就是在外部类的方法中声明的内部类。 例程 由该例程可以总结出方法内部类的定义和实例化方法如下: (1)在外部类的成员方法内定义一个内部类,不能使用访问修饰符,也不能用static修饰。 (2)方法内部类的作用空间只在方法体内,因此必须在声明内部类后,在结束该方法之前实例化该内部类,并访问其方法。 (3)该内部类可访问一切外部类成员和保护该内部类方法的合法局部变量。 (4)该内部类中不能声明static成员。 匿名内部类 匿名内部类就是没有名字(类的标识符)的内部类,它在被声明的同时被实例化。 例程 程序代码的第28~34行测试的是一个接口I的匿名实现类,声明的同时被实例化,该匿名类是接口I的实现类,注意第32行的分号是不可少的。第37~43行测试的是一个抽象类B的匿名继承类。第45~49行测试的是一个普通类D的继承类。第51~55行测试的是一个带有非缺省构造方法的普通类的匿名继承类。注意第52行代码定义的方法与类D中的方法不同。在定义的匿名类的方法必须采用public访问修饰符,采用其他访问修饰符都不对。 匿名内部类在Java GUI编程中,常常用于实现事件监听器。请读者自己从该例程中总结出匿名内部类的声明和使用方式。 对象之间的关系 泛化 聚合 组合 依赖 关联 面向对象程序设计的基本原则 单一职责原则 开闭原则 里氏代换原则 依赖倒转原则 接口隔离原则 合成复用原则 迪米特法则 小结 内部类 对象之间的关系 面向对象程序设计的基本原则 本章小结 面向对象编程对于初学者是较难的,其思想、概念往往较难领会理解,初学者往往只从计算机这个角度来考虑,如果多联系一下我们的物理世界、我们身边的事物,那么对学习面向对象编程来说就容易多了。本章采用取类比象的方法介绍了面向对象编程的思想、基本特征以及它们在Java中的表达,为初学者学习面向对象提供了一条较好的道路,同学们在学习本章的时候,要多思考,多联系实际,多进行上机实训。深入理解面向对象,既要理解普遍意义上的面向对象编程,又要知道这些思想、概念、方法在Java上的具体表达应用。本章最后给出的面向对象编程的基本原则是较难的,是对如何运用面向对象进行编程的经验总结和指导,当开发经验积累到一定程度时,自然就彻底理解这些原则了。 面向对象的三个基本特征是自然界事物的法则,面向对象的计算机编程仅仅是该法则的一种应用,读者完全可以把这三个基本特征作为方法应用到自己的学习、工作、生活中,使自己终生受益。通过不断地学习、实践来封装自己,保护好自己避免受到伤害、增强自己的独立性就是尽量减少对别人的依

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档