欢迎来到天天文库
浏览记录
ID:1705960
大小:451.00 KB
页数:29页
时间:2017-11-13
《inner_class and interface》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Chapter16Theinterface-athirdwaytosetupareuserelationshipTheinterfaceallowsyoutoperforma“multipleinheritance”InnerclasseslooklikeasimplecodehidingmechanismCancommunicatewiththesurroundingclassInterfaces&InnerClassesInterfacespureabstractclassfield:staticfinalestablishaprotocolbetweenclassMethod-nobod
2、yimportjava.util.*;interfaceInstrument{//Compile-timeconstant:inti=5;//static&finalCannothavemethoddefinitions:voidplay();//AutomaticallypublicStringwhat();voidadjust();}classWindimplementsInstrument{publicvoidplay(){System.out.println("Wind.play()");}publicStringwhat(){return"Wind";}publicvoidadjus
3、t(){}}classPercussionimplementsInstrument{publicvoidplay(){System.out.println("Percussion.play()");}publicStringwhat(){return"Percussion";}publicvoidadjust(){}}classStringedimplementsInstrument{publicvoidplay(){System.out.println("Stringed.play()");}publicStringwhat(){return"Stringed";}publicvoidadj
4、ust(){}}classBrassextendsWind{publicvoidplay(){System.out.println("Brass.play()");}publicvoidadjust(){System.out.println("Brass.adjust()");}}classWoodwindextendsWind{publicvoidplay(){System.out.println("Woodwind.play()");}publicStringwhat(){return"Woodwind";}}publicclassMusic5{//Doesn'tcareabouttype
5、,sonewtypes//addedtothesystemstillworkright:staticvoidtune(Instrumenti){i.play();}staticvoidtuneAll(Instrument[]e){for(inti=0;i6、i++]=newStringed();orchestra[i++]=newBrass();orchestra[i++]=newWoodwind();tuneAll(orchestra);}}“Multipleinheritance”inJavapureabstractclassimportjava.util.*;interfaceCanFight{voidfight();}interfaceCanSwim{voidswim();}interfaceCanFly{voidfly();}classActionCharacter{publicvoidfight(){}}classHeroextend7、sActionCharacterimplementsCanFight,CanSwim,CanFly{publicvoidswim(){}publicvoidfly(){}}publicclassAdventure{staticvoidt(CanFightx){x.fight();}staticvoidu(CanSwimx){x.swim();}staticvoidv(CanFlyx){x.fly(
6、i++]=newStringed();orchestra[i++]=newBrass();orchestra[i++]=newWoodwind();tuneAll(orchestra);}}“Multipleinheritance”inJavapureabstractclassimportjava.util.*;interfaceCanFight{voidfight();}interfaceCanSwim{voidswim();}interfaceCanFly{voidfly();}classActionCharacter{publicvoidfight(){}}classHeroextend
7、sActionCharacterimplementsCanFight,CanSwim,CanFly{publicvoidswim(){}publicvoidfly(){}}publicclassAdventure{staticvoidt(CanFightx){x.fight();}staticvoidu(CanSwimx){x.swim();}staticvoidv(CanFlyx){x.fly(
此文档下载收益归作者所有