java编程思想读书笔记(8章)

java编程思想读书笔记(8章)

ID:9504584

大小:95.50 KB

页数:15页

时间:2018-05-01

java编程思想读书笔记(8章)_第1页
java编程思想读书笔记(8章)_第2页
java编程思想读书笔记(8章)_第3页
java编程思想读书笔记(8章)_第4页
java编程思想读书笔记(8章)_第5页
资源描述:

《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)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。