欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第7章 接口与实现.ppt

    • 资源ID:67240131       资源大小:165KB        全文页数:22页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第7章 接口与实现.ppt

    第第7章章 接口与实现接口与实现 Java 不支持多继承性不支持多继承性,即一个类只能有一个即一个类只能有一个父类。父类。单继承性使得单继承性使得Java 简单,易于管理程序。为简单,易于管理程序。为了克服单继承的缺点,了克服单继承的缺点,Java使用了接口,一个类可使用了接口,一个类可以实现多个接口。以实现多个接口。使用关键字使用关键字interface 来定义一个接口。接口的来定义一个接口。接口的定义和类的定义很相似,分为接口的声明和接口体。定义和类的定义很相似,分为接口的声明和接口体。12/21/20221信息学院7.1.1 接口的声明与使用接口的声明与使用(1)接口声明)接口声明 接口通过使用关键字接口通过使用关键字interface 来声明来声明 interface 接口的名字接口的名字(2)接口体)接口体 接口体中包含常量定义和方法定义两部分。接口体中包含常量定义和方法定义两部分。接口接口体中只进行方法的声明体中只进行方法的声明,不许提供方法的实现不许提供方法的实现,所,所以方法的定义没有方法体,且用分号结尾。以方法的定义没有方法体,且用分号结尾。7.1 接口接口12/21/20222信息学院例:例:interface Runner public static final int id=1;public void start();public void run();public void stop();7.1 接口接口12/21/20223信息学院(3)接口的使用)接口的使用 一一个个类类通通过过使使用用关关键键字字implements 声声明明自自己己使使用用一一个个或或多多个个接接口口。如如果果使使用用多多个个接接口口,用用逗号隔开接口名。逗号隔开接口名。如:如:class A implements Printable,Addable class Dog extends Animal implements Eatable,Sleepable7.2 实现接口实现接口12/21/20224信息学院7.2 实现接口实现接口 如如果果一一个个类类使使用用了了某某个个接接口口,那那么么这这个个类类必必须须实实现该接口的所有方法,即为这些方法提供方法体。现该接口的所有方法,即为这些方法提供方法体。需需要要注注意意的的是是在在类类中中实实现现接接口口的的方方法法时时,方方法法的的名名字字、返返回回类类型型、参参数数个个数数及及类类型型必必须须与与接接口口中中的的完完全一致。全一致。特特别别要要注注意意的的是是接接口口中中的的方方法法被被默默认认是是public 的的,所以类在实现接口方法时一定要用所以类在实现接口方法时一定要用public 来修饰。来修饰。12/21/20225信息学院 如果接口的方法的返回类型不是如果接口的方法的返回类型不是void 的,那么在的,那么在类中实现该接口方法时,方法体至少要有一个类中实现该接口方法时,方法体至少要有一个return 语句。如果是语句。如果是void 型,类体除了两个大括号外,也可型,类体除了两个大括号外,也可以没有任何语句。以没有任何语句。7.2 实现接口实现接口 Java 为为我我们们提提供供的的接接口口都都在在相相应应的的包包中中,通通过过引引入入包包可可以以使使用用Java 提提供供的的接接口口。也也可可以以自自己己定定义义接接口口,一个一个java源文件就是由类和接口组成的。源文件就是由类和接口组成的。12/21/20226信息学院例:例:import java.applet.*;import java.awt.*;interface Computable final int MAX=100;void speak(String s);int f(int x);float g(float x,float y);class China implements Computable int xuehao;public int f(int x)/不要忘记不要忘记public关键字关键字.int sum=0;for(int i=1;i=x;i+)sum=sum+i;return sum;12/21/20227信息学院 public float g(float x,float y)return 6;/至少有至少有return语句语句.public void speak(String s)class Japan implements Computable int xuehao;public int f(int x)return 68;public float g(float x,float y)return x+y;12/21/20228信息学院 public void speak(String s)public class Example4_26 extends Applet China Li;Japan Henlu;public void init()Li=new China();Henlu=new Japan();Li.xuehao=991898;Henlu.xuehao=941448;12/21/20229信息学院 public void paint(Graphics g)g.drawString(xuehao:+Li.MAX+Li.xuehao+从从1到到100 求和求和+Li.f(100),10,20);g.drawString(xuehao:+Henlu.MAX+Henlu.xuehao+加法加法+Henlu.g(2.0f,3.0f),10,40);注:注:如果一个类声明实现一个接口,但没有实现接口如果一个类声明实现一个接口,但没有实现接口中的所有方法,那么这个类必须是中的所有方法,那么这个类必须是 abstract 类。类。12/21/202210信息学院 接口的语法规则很容易记住,但真正理解接口更接口的语法规则很容易记住,但真正理解接口更重要。你可能注意到,在上述例子重要。你可能注意到,在上述例子26 中如果去掉接口,中如果去掉接口,并把程序中的并把程序中的Li.MAX,Henlu.MAX 去掉,上述程序去掉,上述程序的运行没有任何问题。那为什么要用接口呢?的运行没有任何问题。那为什么要用接口呢?7.3 理解接口理解接口12/21/202211信息学院 假假如如轿轿车车、卡卡车车、拖拖拉拉机机、摩摩托托车车、客客车车都都是是机机动动车车的的子子类类,其其中中机机动动车车是是一一个个抽抽象象类类。如如果果机机动动车车中中有有一一个个抽抽象象方方法法“收收取取费费用用”,那那么么所所有有的的子子类类都都要要实实现现这这个个方方法法,即即给给出出方方法法体体,产产生生各各自自的的收收费费行行为为。这这显显然然不不符符合合人人们们的的思思维维方方法法,因因为为拖拖拉拉机机可可能能不不需需要要有有”收收取取费费用用”的的功功能能,而而其其他他的的一一些些类类,比比如飞机、轮船等可能也需要具体实现如飞机、轮船等可能也需要具体实现”收取费用收取费用”。7.3 理解接口理解接口12/21/202212信息学院 接接口口可可以以增增加加很很多多类类都都需需要要实实现现的的功功能能,不不同同的的类类可可以以使使用用相相同同的的接接口口,同同一一个个类类也也可可以以实实现现多多个接口。个接口。7.3 理解接口理解接口接口只关心功能,并不关心功能的具体实现接口只关心功能,并不关心功能的具体实现。比比如如“客客车车类类”实实现现一一个个接接口口,该该接接口口中中有有一一个个“收收取取费费用用”的的方方法法,那那么么这这个个“客客车车类类”必必须须具具体体给给出出怎怎样样收收取取费费用用的的操操作作,即即给给出出方方法法的的方方法法体体,不不同同车车类类都都可可以以实实现现“收收取取费费用用”,但但“收收取取费用费用”的手段可能不相同。的手段可能不相同。12/21/202213信息学院7.3 理解接口理解接口 接接口口的的思思想想在在于于它它可可以以增增加加很很多多类类都都需需要要实实现现的的功能,使用相同的接口类不一定有继承关系。功能,使用相同的接口类不一定有继承关系。注注:接接口口声声明明时时,如如果果关关键键字字interface 前前面面加加上上public 关关键键字字,就就称称这这样样的的接接口口是是一一个个public 接接口口,public 接口可以被任何一个类使用接口可以被任何一个类使用。如如果果一一个个接接口口不不加加public 修修饰饰,就就称称做做友友好好接接口口类,类,友好接口可以被同一包中的类使用友好接口可以被同一包中的类使用。12/21/202214信息学院7.4 接口的接口的UML图图 表表示示接接口口的的UML图图和和表表示示类类的的UML图图类类似似,使使用用一一个个长长方方形形描描述述一一个个接接口口的的主主要要构构成成,将将长长方方形形垂垂直直地分为三层。地分为三层。第第1层层是是名名字字层层、第第2层层是是常常量量层层、第第3层层是是方方法法层层。接口回调是指可以把实现某一接口的类创建的对接口回调是指可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。象的引用赋给该接口声明的接口变量中。那么该接口变量就可以调用被类实现的接口中的那么该接口变量就可以调用被类实现的接口中的方法。实际上,当接口变量调用被类实现的接口中的方法。实际上,当接口变量调用被类实现的接口中的方法时,就是通知相应的对象调用接口的方法。方法时,就是通知相应的对象调用接口的方法。7.5 接口回调接口回调12/21/202216信息学院例:例:interface ShowMessage void 显示商标显示商标(String s);class TV implements ShowMessage public void 显示商标显示商标(String s)System.out.println(s);class PC implements ShowMessage public void 显示商标显示商标(String s)System.out.println(s);7.5 接口回调接口回调12/21/202217信息学院public class Example4_28 public static void main(String args)ShowMessage sm;sm=new TV();sm.显示商标显示商标(长城牌电视机长城牌电视机);sm=new PC();sm.显示商标显示商标(联想奔月联想奔月5008PC机机);7.5 接口回调接口回调12/21/202218信息学院7.7 接口变量做参数接口变量做参数如如果果一一个个方方法法的的参参数数是是接接口口类类型型,就就可可以以将将任任何何实实现现该该接接口口类类的的实实例例的的引引用用传传递递给给该该接接口口参参数数,那那么么接接口口参数就可以回调类实现的接口方法。参数就可以回调类实现的接口方法。12/21/202219信息学院7.6 7.6 接口与多态接口与多态 可可以以通通过过在在接接口口中中声声明明若若干干个个abstract方方法法,表表明明这这些些方方法法的的重重要要性性,方方法法体体的的内内容容细细节节由由实实现现接接口口的的类类去去完完成成。使使用用接接口口进进行行程程序序设设计计的的核核心心思思想想是是使使用用接接口口回回调调,即即接接口口变变量量存存放放实实现现该该接接口口的的类类的的对对象象的的引引用用,从从而而接接口口变变量量就就可可以以回回调调类类实实现现的的接口方法。接口方法。例例37.8 abstract7.8 abstract类与接口的比较类与接口的比较 接口和接口和abstract类的比较如下:类的比较如下:1abstract类和接口都可以有类和接口都可以有abstract方法。方法。2接接口口中中只只可可以以有有常常量量,不不能能有有变变量量;而而abstract类类中中即可以有常量也可以有变量。即可以有常量也可以有变量。3abstract类中也可以有非类中也可以有非abstract方法方法,接口不可以。接口不可以。7.9 7.9 面向接口编程面向接口编程 面面向向接接口口去去设设计计程程序序,可可以以通通过过在在接接口口中中声声明明若若干干个个abstract方方法法,表表明明这这些些方方法法的的重重要要性性,方方法法体体的的内内容容细节由实现接口的类去完成。细节由实现接口的类去完成。使使用用接接口口进进行行程程序序设设计计的的核核心心思思想想是是使使用用接接口口回回调调,即即接接口口变变量量存存放放实实现现该该接接口口的的类类的的对对象象的的引引用用,从从而而接接口口变变量量就就可可以以回回调调类类实实现现的的接口方法。接口方法。例例5

    注意事项

    本文(第7章 接口与实现.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开