第4章 面向对象编程(多态、抽象类、接口).ppt

第4章 面向对象编程(多态、抽象类、接口).ppt

ID:48251063

大小:263.50 KB

页数:16页

时间:2020-01-18

第4章 面向对象编程(多态、抽象类、接口).ppt_第1页
第4章 面向对象编程(多态、抽象类、接口).ppt_第2页
第4章 面向对象编程(多态、抽象类、接口).ppt_第3页
第4章 面向对象编程(多态、抽象类、接口).ppt_第4页
第4章 面向对象编程(多态、抽象类、接口).ppt_第5页
资源描述:

《第4章 面向对象编程(多态、抽象类、接口).ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第4章面向对象编程(多态、抽象类、接口)一、多态多态是面向对象的又一特点。多态分为编译时多态和运行时多态1.编译时多态:由方法重载实现的静态多态见教材P114例4-232.运行时多态:子类继承父类时产生子类的对象可以申明为父类的对象(向上转型)若父类是Father类,子类是Children类,可以这样声明:Fatherchild;child=newChildren();P115例4-24多态性使用之二(运行时多态)二、抽象类1.定义类前有abstract修饰时,称为抽象类。声明格式如下:abstractclass类名称{成员变量;成员方法;}2.特点(1)抽象类不能被实例化,实例的

2、建立通常由其子类去完成。(2)抽象类中可以没有抽象方法,但包含有抽象方法的类一定是抽象类。抽象方法:声明格式如下:abstract返回值类型方法名([参数列表]);如:abstractvoidstudy();(3)抽象类中的抽象方法必须全部由子类覆盖,否则子类继续被申明为抽象类(4)抽象类及抽象方法不能被final修饰三、最终类和最终方法类前有关键字final时,表示该类是最终类声明格式如下:finalclass类名称{成员变量;成员方法;}最终类不能作为父类被其它类继承方法前有关键字final时,表示该方法是最终方法声明格式如下:final返回值类型方法名([参数列表]){方法体

3、;}abstract、final不能同时修饰类、成员方法,否则将导致编译错误说出下列程序语句错误原因:1.publicfinalclassA{……}classBextendsA{……}2.publicabstractfinalclassA{……}3.publicabstractclassK{abstractfinalvoidaa();}五、接口1、接口的申明[public]interface接口名[extends父接口名列表]{常量定义方法定义}说明:(1)接口中的成员变量都必须设置初始值,且默认为public、final、static型。(2)接口中定义的方法默认都是public

4、、abstract类型的抽象方法。如:interfaceAnimal{inti=5;//默认为publicstaticfinalvoidmodelOfAction();//默认为publicabstract}(3)当接口由public修饰时,表示该接口是公共接口,可以被所有的类和接口使用,否则只能被同一包中的其它接口和类使用。(4)保存接口时,其命名方法类似于保存类的文件命名方法,即保存接口的文件名必须与接口名相同。一个文件中可以有多个接口,但最多只有一个接口为public型,其它的接口默认。2、接口的实现类实现某接口,利用关键字implements,如:[类修饰符]class类名

5、称[extends父类名]implements接口名列表{[变量的定义及初始化;][方法的定义及方法体;]}几点说明:(1)一个类可以实现多个接口,在implements关键字后,逐个列出需要实现的接口名。(2)一个类在实现接口中定义的所有的抽象方法时,必须与接口中定义的方法完全一致,即具有相同的方法名、参数列表和返回值。(3)由于接口中的抽象方法默认都是public类型的,因此在类中实现方法时,方法名前必须写出public,否则会出错。(4)接口与抽象类类似,不能被实例化例:接口的实现interfaceAnimal{voidmodelOfAction();voidspeak();

6、}classFishimplementsAnimal{publicvoidmodelOfAction(){System.out.println("Fishcanswim!");}publicvoidspeak(){System.out.println("Fishisbubbing!");}}classBirdimplementsAnimal{publicvoidmodelOfAction(){System.out.println("Birdcanfly!");}publicvoidspeak(){System.out.println("Birdissinging!");}}子类实现

7、接口中的方法必须使用public;3、接口的继承一个接口不能实现另一个接口,但可以继承多个接口如:interfaceA{intmethodA();}interfaceB{intmethodB();}interfaceCextendsA,B{//接口C称为复合接口intmethodC();}子类除了实现父接口中的抽象方法,还必须实现间接父接口中的抽象方法,否则,该类只能成为抽象类。如:classMyClassimplementsC{publicintmethodC(){

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。