- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Cloneable接口 13.3 接口 归纳起来,Java语言中接口的主要作用是事先制定完成某些操作的规范,如比较操作,所有意图实现这些操作的类都应该实现制定规范的接口。 Java语言允许一个类实现多个接口,也就是说一个类能够遵循多种操作规范。 13.4 内部类 Java语言的内部类是指定义在其他类内部定义的类,包含内部类的类一般称为外部类。 根据内部类常用的形式包括:成员内部类和匿名内部类。 继承与多态 面向对象的多态性 主要内容 多态 抽象类 接口 内部类 13.1 多态 继承是面向对象技术另外一个重要特征——多态性的基础。利用多态可以提高软件系统的灵活性、可理解性和可扩展性。 面向对象程序设计的一个重要概念是“消息驱动”。 13.1 多态 消息是指一个对象请求另一个对象协助完成某项任务的规格说明,消息中应当包括接收方的信息及具体请求的操作说明。 当一个对象向另一个对象发送消息时,接收到消息的对象会给予响应,使原本处于静态的对象被激活,这个过程称为消息驱动。 13.1 多态 Java语言的消息驱动机制中,发送消息是指一个对象调用另一个对象的方法;响应消息是指被调用的方法的执行和返回过程。 面向对象程序中不同类的对象接收到同一消息时,可能产生完全不同地响应结果,该现象称为多态性。 13.1 多态 PolymorphismTest.java 演示 实现多态性需要3个要求: 1.程序中必须通过继承形成类的层次关系。 2.响应消息的方法必须在类的层次关系中多次定义。即该方法应该首先在父类中定义,然后在子类中进行覆盖。 13.1 多态 3.发送多态消息的语句必须使用父类的引用变量来引用对象。调用方法时,根据对象的实际类型而不是引用变量类型决定调用哪一个方法。 13.1 多态 实现多态性需要3个要求: 13.2 抽象类 抽象是面向对象技术解决问题的基本手段。 在类的继承层次中,沿着层次向下,各个子类变得越来越具体和专用;而沿着层次向上,类就变得越抽象和通用。有时父类会设计的非常抽象,以至于它没有具体的实例,这样的类称为抽象类。 13.2 抽象类 Java语言中使用关键字abstract修饰抽象类,抽象类的定义语法如下: [其他修饰符] abstract class 抽象类名 { …… } 抽象类可以包括普通的成员方法,但通常一个抽象类应至少包含一个抽象方法。 13.2 抽象类 抽象方法是使用abstarct修饰的没有定义方法体的方法,其格式如下: [其他修饰符] abstract 返回类型 抽象方法名(形参列表); 13.2 抽象类 例13-2:定义几何形状类用于计算面积和输出,为它们设计一个抽象父类。 程序源码:包括Geometry.java、Circle.java和Triangle.java三个源文件。 13.2 抽象类 abstractdemo.java 演示 (2)Circle类是Geometry的具体子类,代表圆形。 (3)Triangle类是Geometry的具体子类,代表三角形。 13.2 抽象类 Java语言使用抽象类时应该注意以下几个问题: 任何包含抽象方法的类必须用abstract修饰,否则会出现语法错误。 抽象类有构造方法,但不能创建对象。其构造方法是为子类调用准备的。 13.2 抽象类 抽象类定义的引用变量可以引用其任何子类的对象。 Java语言使用抽象类时应该注意以下几个问题: 抽象类的具体子类应该覆盖父类的所有抽 象方法。没有被覆盖的抽象方法在子类中 仍然是抽象的,此时子类是抽象子类。子 类中覆盖父类的抽象方法通常称为实现该 抽象方法。 13.2 抽象类 Java语言使用抽象类时应该注意以下几个问题: 13.2 抽象类 static、private和final不能用于修饰抽象方法。 Java语言使用抽象类时应该注意以下几个问题: 13.3 接口 Java语言的接口(interface)是一种与类相似的结构,只包含常量和抽象方法。常量定义使用public static final修饰;抽象方法使用public abstract修饰。 接口没有构造方法,不能创建对象。 13.3 接口 Java语言接口的语法格式: [访问修饰符] interface 接口名{ //常量成员,使用public static final修饰 //方法成员,使用public abstract 修饰 } 13.3 接口 13.3 接口 13.3 接口 一个Java类可以同时实现多个接口。 类实现接口时,它会继承接口中所有的静态常量和抽象方法。如果类没有实现接口中的所有抽象方法,则该类是抽象类。 接口可以用来定义引用变量,该变量可以引用任何实现了该接口的类的对象。 C
文档评论(0)