第4章 面向对象编程(多态、抽象类、接口) (new)_第1页
第4章 面向对象编程(多态、抽象类、接口) (new)_第2页
第4章 面向对象编程(多态、抽象类、接口) (new)_第3页
第4章 面向对象编程(多态、抽象类、接口) (new)_第4页
第4章 面向对象编程(多态、抽象类、接口) (new)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章面向对象编程 多态 抽象类 接口 一 多态 多态是面向对象的又一特点 多态分为编译时多态和运行时多态1 编译时多态 由方法重载实现的静态多态见教材P114例4 23 2 运行时多态 子类继承父类时产生子类的对象可以申明为父类的对象 向上转型 若父类是Father类 子类是Children类 可以这样声明 Fatherchild child newChildren P115例4 24多态性使用之二 运行时多态 二 抽象类 1 定义类前有abstract修饰时 称为抽象类 声明格式如下 abstractclass类名称 成员变量 成员方法 2 特点 1 抽象类不能被实例化 实例的建立通常由其子类去完成 2 抽象类中可以没有抽象方法 但包含有抽象方法的类一定是抽象类 抽象方法 声明格式如下 abstract返回值类型方法名 参数列表 如 abstractvoidstudy 3 抽象类中的抽象方法必须全部由子类覆盖 否则子类继续被申明为抽象类 4 抽象类及抽象方法不能被final修饰 三 最终类和最终方法 类前有关键字final时 表示该类是最终类声明格式如下 finalclass类名称 成员变量 成员方法 最终类不能作为父类被其它类继承 方法前有关键字final时 表示该方法是最终方法声明格式如下 final返回值类型方法名 参数列表 方法体 abstract final不能同时修饰类 成员方法 否则将导致编译错误 说出下列程序语句错误原因 1 publicfinalclassA classBextendsA 2 publicabstractfinalclassA 3 publicabstractclassK abstractfinalvoidaa 五 接口 1 接口的申明 public interface接口名 extends父接口名列表 常量定义方法定义 说明 1 接口中的成员变量都必须设置初始值 且默认为public final static型 2 接口中定义的方法默认都是public abstract类型的抽象方法 如 interfaceAnimal inti 5 默认为publicstaticfinalvoidmodelOfAction 默认为publicabstract 3 当接口由public修饰时 表示该接口是公共接口 可以被所有的类和接口使用 否则只能被同一包中的其它接口和类使用 4 保存接口时 其命名方法类似于保存类的文件命名方法 即保存接口的文件名必须与接口名相同 一个文件中可以有多个接口 但最多只有一个接口为public型 其它的接口默认 2 接口的实现类实现某接口 利用关键字implements 如 类修饰符 class类名称 extends父类名 implements接口名列表 变量的定义及初始化 方法的定义及方法体 几点说明 1 一个类可以实现多个接口 在implements关键字后 逐个列出需要实现的接口名 2 一个类在实现接口中定义的所有的抽象方法时 必须与接口中定义的方法完全一致 即具有相同的方法名 参数列表和返回值 3 由于接口中的抽象方法默认都是public类型的 因此在类中实现方法时 方法名前必须写出public 否则会出错 4 接口与抽象类类似 不能被实例化 例 接口的实现interfaceAnimal voidmodelOfAction voidspeak classFishimplementsAnimal publicvoidmodelOfAction System out println Fishcanswim publicvoidspeak System out println Fishisbubbing classBirdimplementsAnimal publicvoidmodelOfAction System out println Birdcanfly publicvoidspeak System out println Birdissinging 子类实现接口中的方法必须使用public 3 接口的继承一个接口不能实现另一个接口 但可以继承多个接口如 interfaceA intmethodA interfaceB intmethodB interfaceCextendsA B 接口C称为复合接口intmethodC 子类除了实现父接口中的抽象方法 还必须实现间接父接口中的抽象方法 否则 该类只能成为抽象类 如 classMyClassimple

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论