Java 学习 接口.doc
上传人:yy****24 上传时间:2024-09-10 格式:DOC 页数:5 大小:38KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

Java 学习 接口.doc

Java学习接口.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

接口的实际应用将方法名称暴露给用户USB接口PCI插槽接口对象的实例化通过对象多态性实现interfaceA{publicvoidfun();}classBimplementsA{publicvoidfun(){System.out.println("HelloWorld!!!");}};publicclassOODemo{publicstaticvoidmain(Stringargs[]){Aa=newB();a.fun();}};生活中的例子电脑上的USB(接口)插入之后开始工作,工作完成之后停止退出USB接口实现的设备:MP3,UDISK主机认的是USB接口PCUSB->MP3,UDISK(必须得实现USB接口中所规定的功能)interfaceUSB{//开始工作publicvoidstart();//停止工作publicvoidstop();}//对于PC机上认的是一个USB接口classPC{publicstaticvoidplugin(USBu){u.start();u.stop();}};classMp3implementsUSB{publicvoidstart(){System.out.println("Mp3开始工作了。。。");}publicvoidstop(){System.out.println("Mp3停止工作了。。。");}};classUDiskimplementsUSB{publicvoidstart(){System.out.println("U盘开始工作了。。。");}publicvoidstop(){System.out.println("U盘停止工作了。。。");}};publicclassOODemo{publicstaticvoidmain(Stringargs[]){PC.plugin(newUDisk());}};抽象类与接口在使用上如此相似,那么该选谁呢?开发上讲:优先使用接口,接口允许多继承抽象类和接口比较相同点:对象不能直接实例化,通过多态性,可由其子类实例化不同点:(1)包括一般方法,抽象方法,变量,常量包括常量和抽象方法(2)可以有构造方法不能有构造方法(3)抽象类可以实现多个接口接口不能继承一个抽象类(4)继承时单继承会有局限性解决单继承带来的局限性适配器设计模式观察一个特点:接口中都是抽象方法,则子类必须全部覆写接口中的全部抽象方法,那么如果现在子类不希望全部都覆写呢?该如何去做呢?interfaceA{publicvoidfun1();publicvoidfun2();publicvoidfun3();}abstractclassBimplementsA{publicvoidfun1(){}publicvoidfun2(){}publicvoidfun3(){}};classCextendsB//根据自己的需要去覆写{publicvoidfun1(){System.out.println("HELLO...");}};publicclassOODemo{publicstaticvoidmain(Stringargs[]){Aa=newC();a.fun2();}};接口-抽象类(过度)--子类Adapter:适配器设计模式简单工厂设计模式接口可以进一步扩展—>工厂设计模式(看到接口一般都能想到工厂设计模式)interfaceUSB{//开始工作publicvoidstart();//停止工作publicvoidstop();}classMp3implementsUSB{publicvoidstart(){System.out.println("Mp3开始工作了。。。");}publicvoidstop(){System.out.println("Mp3停止工作了。。。");}};classUDiskimplementsUSB{publicvoidstart(){System.out.println("U盘开始工作了。。。");}publicvoidstop(){System.out.println("U盘停止工作了。。。");}};publicclassOODemo