第4章 面向对象编程(多态、抽象类、接口).ppt
-
资源ID:68701373
资源大小:263.50KB
全文页数:16页
- 资源格式: PPT
下载积分:16金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
第4章 面向对象编程(多态、抽象类、接口).ppt
第4章 面向对象编程(多态、抽象类、接口)一、多态多态是面向对象的又一特点。多态分为编译时多态和运行时多态1.编译时多态:由方法重载实现的静态多态 见教材P114例4-232.运行时多态:子类继承父类时产生 子类的对象可以申明为父类的对象(向上转型)若父类是Father类,子类是Children类,可以这样声明:Father child;child=new Children();P115 例4-24 多态性使用之二(运行时多态)二、抽象类1.定义类前有abstract修饰时,称为抽象类。声明格式如下:abstract class 类名称 成员变量;成员方法;2.特点 (1)抽象类不能被实例化,实例的建立通常由其子类去完成。(2)抽象类中可以没有抽象方法,但包含有抽象方法的类一定是抽象类。抽象方法:声明格式如下:abstract 返回值类型 方法名(参数列表);如:abstract void study();(3)抽象类中的抽象方法必须全部由子类覆盖,否则子类继续被申明为抽象类(4)抽象类及抽象方法不能被final修饰三、最终类和最终方法类前有关键字final时,表示该类是最终类声明格式如下:final class 类名称 成员变量;成员方法;最终类不能作为父类被其它类继承 方法前有关键字final时,表示该方法是最终方法声明格式如下:final 返回值类型 方法名(参数列表)方法体;abstract、final不能同时修饰类、成员方法,否则将导致编译错误 说出下列程序语句错误原因:1.public final class A class B extends A2.public abstract final class A3.public abstract class K abstract final void aa();五、接口1、接口的申明publicinterface 接口名 extends 父接口名列表 常量定义 方法定义说明:(1)接口中的成员变量都必须设置初始值,且默认为public、final、static型。(2)接口中定义的方法默认都是public、abstract类型的抽象方法。如:interface Animal int i=5;/默认为public static final void modelOfAction();/默认为public abstract(3)当接口由public修饰时,表示该接口是公共接口,可以被所有的类和接口使用,否则只能被同一包中的其它接口和类使用。(4)保存接口时,其命名方法类似于保存类的文件命名方法,即保存接口的文件名必须与接口名相同。一个文件中可以有多个接口,但最多只有一个接口为public型,其它的接口默认。2、接口的实现类实现某接口,利用关键字implements,如:类修饰符class 类名称 extends 父类名 implements 接口名列表 变量的定义及初始化;方法的定义及方法体;几点说明:(1)一个类可以实现多个接口,在implements关键字后,逐个列出需要实现的接口名。(2)一个类在实现接口中定义的所有的抽象方法时,必须与接口中定义的方法完全一致,即具有相同的方法名、参数列表和返回值。(3)由于接口中的抽象方法默认都是public类型的,因此在类中实现方法时,方法名前必须写出public,否则会出错。(4)接口与抽象类类似,不能被实例化例:接口的实现 interface Animal void modelOfAction();void speak();class Fish implements Animal public void modelOfAction()System.out.println(Fish can swim!);public void speak()System.out.println(Fish is bubbing!);class Bird implements Animal public void modelOfAction()System.out.println(Bird can fly!);public void speak()System.out.println(Bird is singing!);子类实现接口中的方法必须使用public;3、接口的继承一个接口不能实现另一个接口,但可以继承多个接口如:interface A int methodA();interfaceB int methodB();interface C extends A,B/接口C称为复合接口 int methodC();子类除了实现父接口中的抽象方法,还必须实现间接父接口中的抽象方法,否则,该类只能成为抽象类。如:class MyClass implements C public int methodC()return c;public int methodB()return b;public int methodA()return a;系统定义的接口 见教材p125