《J接口和内部类》PPT课件

《J接口和内部类》PPT课件

ID:45088618

大小:967.00 KB

页数:48页

时间:2019-11-09

《J接口和内部类》PPT课件_第1页
《J接口和内部类》PPT课件_第2页
《J接口和内部类》PPT课件_第3页
《J接口和内部类》PPT课件_第4页
《J接口和内部类》PPT课件_第5页
资源描述:

《《J接口和内部类》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、接口和内部类Interfaces&InnerClasses霍秋艳qyhuo@mail.xidian.edu.cn2接口和内部类接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。Java提供一个叫做抽象方法的机制。abstract:类中创建一个或多个无方法体的类。interface:完全抽象类innerclasses看似一个简单的代码隐藏机制:可以将一个类的定义放在另一个类的定义的内部。3抽象类4抽象类是指不能直接被实例化的类,因此一般作为其它类的超类,与final类正好相反。概念上来说是一

2、个Java类和接口的混合Whatgoesinanabstractclass?implementcommonstateandbehaviorthatwillbeinheritedbysubclassesdeclaregenericbehaviorsthatsubclassesmustimplement抽象类5abstract关键字放在类明以及方法之前抽象类中的抽象的方法--在该类中定义但不在该类中提供实现,由继承类提供细节publicabstractclassSomeAbstractClass{voidm

3、ethod1(){System.out.println(“Hi,Java”);}voidmethod2();}一个抽象类甚至可以没有抽象方法只要包含有abstract方法,类就必须被声明为abstract,否则就不能编译。抽象类的语法6abstractclassAnimalKingdom{privateStringphylum;publicAnimalKingdom(Stringp){phylum=p;}publicStringgetPhylum(){returnphylum;}publicabstra

4、ctvoideat();}抽象类:例定义抽象方法的类必须是抽象类。抽象类中的抽象的方法--在该类中定义但不在该类中提供实现,由继承类提供细节。7抽象类和方法可以有数据和定义不可以创建实例必须定义所有的abstract方法才可以被实例化(否则类仍然是abstract类)8abstractInstrument一些方法和数据可以被定义剩余其它代码是一样的…abstractclassInstrument{privateinti;//Storageallocatedforeachpublicabstractvoi

5、dplay(Noten);publicStringwhat(){return"Instrument";}publicabstractvoidadjust();}9接口(interface)和抽象(abstract)类有什么不同?为什么都存在与Java中?什么时候该用一个抽象类,什么时候改用一个接口?问题?接口Interfaces11接口“纯(pure)”abstractclass–完全抽象的类允许创建者象建立一个类一样进行创建:methodnames,argumentlists,andreturntyp

6、es,butnomethodbodies.canalsocontainfields,buttheseareimplicitlystaticandfinal.–常量“所有实现了该特定接口的类看起来都像这样”interface&implements关键字“Theinterfaceiswhatitlookslike,butnotI’mgoingtosayhowitworks.”利用接口可实现多重继承(可同时实现多个接口)12InterfacesinterfaceKeyListener{publicvoidke

7、yPressed(KeyEvente);publicvoidkeyReleased(KeyEvente);publicvoidkeyTyped(KeyEvente);}一个接口描述方法但不提供方法的具体实现方法名、参数列表和返回类型13例ordinaryclass14例–代码interfaceInstrument{//Compile-timeconstant:intI=5;//static&final//Cannothavemethoddefinitions:voidplay(Noten);//Auto

8、maticallypublicStringwhat();voidadjust();}classWindimplementsInstrument{publicvoidplay(Noten){System.out.println("Wind.play()"+n);}publicStringwhat(){return"Wind";}publicvoidadjust(){}}Otherclassesaresimilar15完全解耦只要一个方法操作的

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

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

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