java基础第六章:接口与实现.doc_第1页
java基础第六章:接口与实现.doc_第2页
java基础第六章:接口与实现.doc_第3页
java基础第六章:接口与实现.doc_第4页
全文预览已结束

下载本文档

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

文档简介

6.1 接口1.接口声明接口定义和类的定义相似,使用关键字interface声明一个接口。123456interfacePrintablefinalintMAX=100;floatsum(floatx,floaty);2.接口体(1)接口体包含常量的声明(没有变量)和抽象方法(不能有普通方法)两部分。(2)接口体中所有的常量访问权限都是public,而且是static常量(允许省略public,final和static修饰符)(3)所有的抽象方法的访问权限一定是public(允许省略public abstract修饰符)1234567interfacePrintablepublicfinalstaticintMAX=100;publicabstractvoidadd();publicabstractfloatsum(floatx,floaty);6.2实现接口1.类实现接口接口由类实现以便使用接口中的方法,在类声明中使用关键字implements声明该类实现一个或者多个接口。如果实现多个接口,用逗号隔开接口名。123classAimplementsPrintable,Addable再比如Animal的Dog子类实现Eatable和Sleepable接口1classDogextendsAnimalimplementsEatable,Sleepable2. 重写接口中的方法1)如果一个非抽象类实现了某个接口,那么这个类必须重写这个接口中的所有抽象方法。2)如果一个类声明实现了一个接口,但没有重写接口中的所有方法,那么这个类必须是抽象方法,也就是说抽象类既可以重写接口中的方法也可以直接拥有接口中的方法。3.接口的细节说明1)可以直接使用接口名访问接口中的中常量,如果一个类实现了接口,那么该类可以直接在类体中使用该接口中的常量。2)定义接口时,如果关键字interface前面加上public关键字就称这样的接口是一个public接口。public接口可以被任何一个类实现。如果一个类不加public修饰,就称作友好接口,友好接口可以被与该类口在同一包中的类实现。3)如果父类实现了某个接口,那么子类也就自然实现了该接口,子类不必再显式的使用implements声明实现这个接口。4)接口也可以被继承,即可以通过关键字extends声明一个接口是另一个接口的子接口,由于接口中的方法和常量都是public的,子接口将继承父类中的全部方法和常量。6.5 接口回调接口回调:可以把实现某一接口的类创建的对象的引用赋值给该接口声明的接口变量。接口与多态使用接口回调后,该接口变量就可以回调类重写的接口方法,由接口产生的多态就是指不同的类在实现同一接口时可能具有不同的实现方式,那么接口变量在回调接口方法时就有多种形态。6.7接口参数如果一个方法的参数是接口类型,我们就可以将任何实现该接口的类的实例的引用传递给该接口参数,那么接口参数就可以回调类实现的接口方法。abstract类与接口的比较 abstract类:(常量、变量)(abstract方法、非astract方法) 接口:(常量)(abstract方法)在设计程序时,应当根据具体的分析来确定是使用抽象类还是接口。abstract类除了提供重要的需要子类重写的abstract方法外,也提供了子类可以继承的变量和非abstract方法。如果某个问题需要使用继承才能更好地解决,比如,子类除了需要重写父类的abstract方法,还需要从父类继承一些变量或继承一些重要的非abs

温馨提示

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

评论

0/150

提交评论