欢迎来到天天文库
浏览记录
ID:34469839
大小:30.00 KB
页数:3页
时间:2019-03-06
《探析java中接口之间的继承》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、探析Java中接口之间的继承java中一个类只能extends一个父类,但可以implements多个接口。java通过使用接口的概念来取代C++中多继承。与此同时,一个接口则可以同时extends多个接口,却不能implements任何接口。因而,Java中的接口是支持多继承的。然后我又做了个实验,来验证如果多个父子接口中有多个相同的方法声明,然后在实现这个最终的接口的时候,相同的方法声明在实现的时候会不会有冲突呢?首先写了个接口:TestInterfaceA.java:1packagecom.peter.java.
2、dsa.interfaces;23publicinterfaceTestInterfaceA{4Stringpri_key="guesswhattheprivatekeyis";56intadd(intx,inty);78Stringencryt(byte[]result);910intget();11}注意,里面声明了三个方法和一个变量;然后再与了一个接口:TestInterfaceB.java:1packagecom.peter.java.dsa.interfaces;23publicinterfaceTestIn
3、terfaceB{4Stringpub_key="guesswhatthepublickeyis";56intminus(intx,inty);78byte[]decryt(Stringsrc);910intget();11}里面也声明了三个方法和一个变量;然后再定义了一个接口InterfaceMultiInheritance.java同时继承了接口TestInterfaceA.java和接口TestInterfaceB.java:1packagecom.peter.java.dsa.interfaces;23publ
4、icinterfaceInterfaceMultiInheritanceextendsTestInterfaceA,4TestInterfaceB{5intnum=1024;67doubledivide(intx,inty);89intget();10}里面声明了两个方法和一个变量;注意,在这三个接口中,有一个共同的方法声明:get()。这个都是要讨论的主题。最后在一个类InterfaceImplementTest.java中实现了接口InterfaceMultiInheritance.java,源码如下:1packa
5、gecom.peter.java.dsa.common;23importcom.peter.java.dsa.interfaces.InterfaceMultiInheritance;4importcom.sun.org.apache.xml.internal.security.exceptions.Base64DecodingException;5importcom.sun.org.apache.xml.internal.security.utils.Base64;67publicclassInterfaceImpl
6、ementTestimplementsInterfaceMultiInheritance{89@Override10publicintadd(intx,inty){11//TODOAuto-generatedmethodstub12returnx+y;13}1415@Override16publicStringencryt(byte[]result){17//TODOAuto-generatedmethodstub18returnBase64.encode(result);19}2021@Override22publi
7、cintminus(intx,inty){23//TODOAuto-generatedmethodstub24returnx-y;25}2627@Override28publicbyte[]decryt(Stringsrc){29//TODOAuto-generatedmethodstub30try{31returnBase64.decode(src);32}catch(Base64DecodingExceptione){33//TODOAuto-generatedcatchblock34e.printStackTra
8、ce();35}36returnnull;37}3839@Override40publicdoubledivide(intx,inty){41//TODOAuto-generatedmethodstub42returnx/y;43}4445@Override46publicintget(){47//TODOAuto-generat
此文档下载收益归作者所有