Java语言08(接口与多态).ppt

上传人:xin****828 文档编号:6288499 上传时间:2020-02-21 格式:PPT 页数:25 大小:273.87KB
返回 下载 相关 举报
Java语言08(接口与多态).ppt_第1页
第1页 / 共25页
Java语言08(接口与多态).ppt_第2页
第2页 / 共25页
Java语言08(接口与多态).ppt_第3页
第3页 / 共25页
点击查看更多>>
资源描述
第6章接口与多态 6 1接口 Java中的接口就是定义了若干个抽象方法和常量 形成一个属性集合 该属性集合通常对应某一组功能 可以实现类似于类的多重继承功能 其格式为 6 11接口的声明与使用 1 接口声明 public interface接口名 extends父接口名列表 接口体 常量声明 抽象方法声明 2 接口体 接口体中包含常量的声明和方法定义两部分 接口声明时的注意事项 在Java中接口是一种专门的类型 用interface关键字定义接口 接口中只能定义抽象方法 而且访问权限一定是公有的 在定义时可省略public和abstract修饰符 接口中可以定义变量 但实际上是publicfinal修饰的常量 接口中不能定义静态方法 3 接口的使用 在Java语言中 接口由类去实现以便使用接口中的方法 一个类可以实现多个接口 类通过使用关键字implements声明自己实现一个或多个接口 如果实现多个接口 则用逗号隔开接口名 如果一个类实现了某个接口 那么这个类必须重写该接口的所有方法 需要注意的是 重写接口的方法时 接口中的方法一定是publicabstract方法 所以类在重写接口方法时不仅要去掉abstract修饰 给出方法体 而且方法访问权限一定要显式地用public来修饰 类重写的接口方法以及接口中的常量可以被类的对象调用 而且常量也可以用类名或接口名直接调用 接口声明时 如果关键字interface前加下public 就称这样的接口是一个public接口 public接口可以被任何一个类实现 如果一个接口不加public修饰 就是友好接口 只能被同一包中的类实现 如果实现了某个接口 那么子类也就自然实现了该接口 子类不必于地使用关键字implements声明实现这个接口 如果一个类声明实现一个接口 但没有重写串的所有方法 那么这个类必须是abstract类 例 接口的使用 interfacecomputable intMAX 100 intf intx classchinaimplementscomputable intnumber publicintf intx returnx 43 publicclassexample6 publicstaticvoidmain Stringargs chinac newchina c number 48 computable MAX System out println Chinesestudent c f 4 接口的继承性 与类相仿 接口也具有继承性 定义一个接口时可以通过extends关键字声明该新接口是某个已经存在的父接口的派生接口 它将继承父接口的所有属性和方法 与类的继承不同的是一个接口可以有一个以上父接口 它们之间用逗号分隔 形成父接口列表 新接口将继承所有父接口中属性和方法 类实现接口的注意事项 在类的声明部分 用implements关键字声明该类将要实现哪些接口 如果实现某接口的类不是abstract抽象类 则在类的定义部分必须实现指定接口所有抽象方法 如果实现某接口的类是abstract的抽象类 则它可以不实现该接口所有的方法 一个类在实现某接口的抽象方法时 必须使用完全相同的方法名 接口抽象访问限制符都已制定为public 所以类在实现方法时 必须显式地使用public修饰符 interfaceA inta 1 interfaceB intb 2 voidpp interfaceMyInterfaceextendsA B abstractclassAbstractInterfaceExamimplementsA B publicclassInterfaceExamextendsAbstractInterfaceExam implementsMyInterface A B publicclassInterfaceExamextendsAbstractInterfaceExamimplementsMyInterfaceA B publicstaticvoidmain String args InterfaceExamobj newInterfaceExam System out println 继承接口A中的a obj a obj pp publicvoidpp System out println 继承接口B中的b b 几点说明 制定模块与模块之间的通信协议 一个定义多人实现 接口做方法的参数时 其实参要用它的实现类 接口的数据成员都静态常量 通过接口名 实现类和对象都可以进行访问 访问时点运算符 接口的回调 接口回调是指 可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中 那么该接口变量就可以调用被类实现的接口方法 interfaceShowMessage voidShowTrademark Strings classTVimplementsShowMessage publicvoidShowTrademark Strings System out println s publicclassexample63 publicstaticvoidmain Stringargs ShowMessagesm sm newTV sm ShowTrademark 长虹牌电视机 6 2 2接口的多态性 接口的多态性是不同的类在实现同一个接口时可能具有不同的实现方式 那么接口变量在架设接口依法时就可能具有多种形态 6 2 3接口与抽象类的比较 接口不能包含任何可以执行的方法 而抽象类可以 接口中只可以有常量 不能有变量 而abstract类中可以有变量 类可以实现多个接口 但只能有一个父类 接口不是类分级结构的一部分 而没有联系的类可以执行相同的接口 面向接口编程 仍然使用开 闭原则进行程序设计 即对扩展开放 对修改关闭 具体步骤是 问题的分析设计接口设计实现类
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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