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

第03章 Java中的面向对象技术.ppt

  1. 1、本文档共164页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第03章Java中的面向对象技术重点讲义

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 3.11 多态 覆盖表现了父类与子类之间方法的多态性。 Java寻找执行方法的原则是:从对象所属的类开始,寻找匹 配的方法执行;如果当前类中没有匹配方法,则沿着继承关 系逐层向上,依次在父类或各祖先类中寻找匹配方法,直到 Object类。 从类的使用者角度看,方法的多态性使类及其子类具有统一的风格,不但同一个类中具有相同含义的多个方法之间可以共用同一个方法名,而且父类与子类之间具有相同含义的多个方法之间也可以共用同样一个方法名。 从类的设计者角度看,类的继承性和方法的多态性使类更易于扩充功能,同时增强了软件的可维护性。 * 3.13 内部类 1.定义 内部类:一个类可以声明在另一个类的内部,这个类就被称为内部类,包含该类的类叫做外部类。 2.内部类的适用场合:教材P89 3.内部类的分类 成员内部类:定义在类中方法外,又可分为静态成员内部类和实例成员内部类。 局部内部类:定义在一个方法内,包括局部内部类和匿名内部类。 * 3.13 内部类 4.各种内部类 实例成员内部类(教材P89 例3.14)(略) 实例成员内部类是外部类的实例成员。 实例成员内部类中不允许定义静态变量和静态方法。 若内部类与外部类没有同名的成员变量,则在内部类中可直接用变量名访问外部类变量(即使声明为私有的)。若有同名的成员变量,则在内部类中:访问自己的成员变量用this引用,访问外部类中的同名变量则用Outer.this来引用。 外部类的实例方法中可以直接创建实例成员内部类的对象,并调用其实例成员方法。 * 3.13 内部类 4.各种内部类 局部内部类(教材P92 例3.18) (略) 局部内部类定义在外部类的方法中。 局部内部类只能访问方法中的final类型的局部变量。 局部内部类可访问该类自己的成员、以及外部类的成员。 * 3.13 内部类 4.各种内部类 匿名内部类(教材P93 例3.19) 匿名内部类必须继承一个基类或实现一个接口,但是不能有显式的extends和implements子句。 匿名内部类必须实现父类以及接口中的所有抽象方法。 匿名内部类总是使用父类的无参构造方法来创建实例。 匿名内部类的主要用途是向方法的参数传值,也可放在return之后的表达式中。 【例3.19】 匿名内部类。 * 3.13 内部类 4.各种内部类 静态成员内部类(略) 实例成员内部类中自动记录着一个引用指向外部类的对象,即为Outer.this。 静态成员内部类是外部类的静态成员,故而: 产生其对象时,不需要同时存在一个外部类对象。 无法在静态内部类中访问外部类的对象。 静态成员内部类中可以声明static成员,也可声明实例成员。 静态内部类不只可访问外部类的静态成员。 * 3.14 设计原则(略) 面向抽象原则:面向抽象类和面向接口编程。 开闭原则:让代码对扩展开放,对修改关闭。 少用继承多用组合原则:尽量使用组合,尽量不使用继承。 组合复用原则:在一个新的对象里面使用一些已有的对象,使 之成为新对象的一部分;新的对象通过向这些对象的委派达到 复用已有功能的目的。 举例:教材P102~111 例3.24 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 3.6.5 对象初始化顺序 2.类的加载 当一个类首次被使用时就会加载该类,可以是以下方式之一: 第一次创建该类的对象; 首次访问该类的静态变量或静态方法时。 * 1. 声明抽象类与抽象方法 抽象类—使用关键字abstract声明的类. 抽象方法—使用关键字abstract声明的成员方法. 只有方法声明而没有方法体的成员方法. public abstract class ClosedFigure //闭合图形抽象类 { public abstract double area(); //计算面积,抽象方法 } 抽象方法: 有访问修饰词、 返回值类型、方法名和 参数列表,无方法体 3.8 abstract修饰符 * 2.抽象类的特点 ClosedFigure g=new ClosedFigure(); //语法错,抽象类不能被实例化 注意: 抽象类中可以不包含抽象方法,但是包含抽象方法的类必须被声明为抽象类. 构造方法﹑静态成员方法不能被声明为抽象方法. 一个非抽象类必须实现从父类继承来的所有抽象方法,如果不能实现父类的所有抽象方法,则该类必须声明为抽象类。 抽象类不能被实例化,不能创建抽象类的实例。 3.8 abstra

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档