欢迎来到天天文库
浏览记录
ID:9504584
大小:95.50 KB
页数:15页
时间:2018-05-01
《java编程思想读书笔记(8章)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Java编程思想读书笔记(8章) 第8章接口与内隐类 一.接口 1.如果实现接口的class未实现接口中的所有函数,则这个class必须被声明为abstractclass,而接口中未被实现的函数在这个class中为abstractclass。 interfaceInterface{ publicvoidf(); publicvoidg(); } abstractclassFirstimplementsInterface{ publicvoidf(){} } classSecondextendsFirst{ publicvoidg(
2、){} } publicclassExplicitStatic{ publicstaticvoidmain(String[]args){ Interfacef=neplementsMyInterface{ publicvoidf(){} //!voidg(){}出错,应定义为public } 3.接口中的数据成员自动成为static和final interfaceMyInterface{ inti=5; voidf(); voidg(); } classFirstimplementsMyInterface{ publicvo
3、idf(){} publicvoidg(){} } publicclassExplicitStatic{ publicstaticvoidmain(String[]args){ MyInterfacex=ne.out.println(MyInterface.i=+MyInterface.i+,x.i=+x.i); //MyInterface的数据成员I为final,不能修改 //x.i++; //MyInterface.i++; } } 4.多重继承 1)devricedclass可以同时继承多个interface和一个abstr
4、act或concretebaseclass。如果同时继承了baseclass和interface,那么要先写下具象类的名称,然后才是interfaces的名称。 2)如果derivedclass所继承的具象类具有与interfaces相同的函数,则可在derivedclass不实现那个函数。 interfaceCanFight{ voidfight(); } interfaceCanS{ voids(); } classActionCharacter{ publicvoidfight(){} } classHeroextendsAc
5、tionCharacter implementsCanFight,CanS{ publicvoids(){}; } publicclassExplicitStatic{ staticvoidf(CanFightx){x.fight();} staticvoids(CanSx){x.s();} staticvoida(ActionCharacterx){x.fight();} staticvoidh(Herox){ x.fight();x.s(); } publicstaticvoidmain(String[]args){ Hero
6、h=newHero(); f(h);s(h);a(h);h(h); } } 因为在ActionCharacterclass中有与接口CanFight完全相同的函数fight(),所以在Heroclass可以不实现fight()方法。当要调用x.fight()时,会调用ActionCharacterclass中的fight()函数。 3)接口的合并时的名称冲突问题 interfaceI1{voidf();} interfaceI2{intf(inti);} interfaceI3{intf();} classC{publicintf(){
7、return1;}} classC2implementsI1,I2{ publicvoidf(){} publicintf(inti){return1;} } classC3extendsCimplementsI2{ publicintf(inti){return1;} } classC4extendsCimplementsI3{ publicintf(){return1;} } //classC5extendsCimplementsI1{}(a) //classC6extendsCimplementsI1{publicvoidf
8、(){}}(b) interfaceI4extendsI1,I3{}//(c)
此文档下载收益归作者所有