欢迎来到天天文库
浏览记录
ID:39425647
大小:711.00 KB
页数:53页
时间:2019-07-03
《接口、内部类和JavaAPI基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章接口、内部类和JavaAPI基础4.1接口与实现接口的类4.2内部类和内部接口4.3JavaAPI基础4.4泛型《Java程序设计实用教程(第4版)》第4章接口、内部类和JavaAPI基础内容和要求:理解接口的作用,理解接口和实现接口的类的关系,掌握声明接口、一个类实现多个接口的声明和使用方法。理解内嵌类型的概念,掌握声明内部类的方法。熟悉Java语言包和实用包中的常用类。重点:接口和实现接口的类;JavaAPI。难点:接口,内部类,JavaAPI。《Java程序设计实用教程(第4版)》4.1接口与实现接口的类声明接口[publi
2、c]interface接口[extends父接口列表]{[public][static][final]数据类型成员变量=常量值;[public][abstract]返回值类型成员方法[(参数列表)];}publicinterfaceArea//可计算面积接口{publicabstractdoublearea();//计算面积}接口不能被实例化《Java程序设计实用教程(第4版)》可计算周长接口publicinterfacePerimeter{publicabstractdoubleperimeter();//抽象方法,计算周长}《Jav
3、a程序设计实用教程(第4版)》2.声明实现接口的类[修饰符]class类<泛型>[extends父类][implements接口列表]例如,publicabstractclassClosedFigureextendsFigureimplementsArea,Perimeter实现接口的非抽象类必须实现所有接口中的所有抽象方法,否则声明为抽象类《Java程序设计实用教程(第4版)》图4.1ClosedFigure类的继承关系《Java程序设计实用教程(第4版)》例4.1接口与实现接口的类。声明可计算体积接口Volume如下:publici
4、nterfaceVolume//可计算体积接口{publicabstractdoublevolume();//抽象方法,计算体积}《Java程序设计实用教程(第4版)》(2)声明柱体类Cylinder,实现Area和Volume接口。《Java程序设计实用教程(第4版)》3.接口是多继承的publicinterfaceSolidextendsArea,Volume//立体接口,继承Area和Volume接口publicclassGlobeextendsObjectimplementsSolid//球类,实现Solid接口《Java程序设
5、计实用教程(第4版)》4.接口是引用数据类型ClosedFigurefig=newEllipse(point,10,20);//父类对象fig引用椭圆子类实例Areaar=fig;//Area接口对象ar引用实现Area接口的ClosedFigure类的Ellipse子类实例ar.area()//运行时多态Cylindercylinder=newCylinder(fig,10);//椭圆柱ar=cylinder;//ar引用实现Area接口的Cylinder类的实例Volumevol=cylinder;//Volume接口对象vol引用
6、实现Volume接口的Cylinder类的实例ar.area()//运行时多态vol.volume()《Java程序设计实用教程(第4版)》图4.4接口声明的抽象方法在实现该接口的多个类中表现出运行时多态性《Java程序设计实用教程(第4版)》2.接口与抽象类的区别抽象类为子类约定方法声明,抽象类可以给出部分实现,包括构造方法等;抽象方法在多个子类中表现出多态性。类的单继承,使得一个类只能继承一个父类的约定和实现。接口为多个互不相关的类约定某一特性的方法声明,在类型层次中表达对象拥有的属性。接口没有实现部分。接口是多继承的。一个类实现多
7、个接口,就具有多种特性,也是多继承的。《Java程序设计实用教程(第4版)》3.单继承和多继承类的单继承的优点《Java程序设计实用教程(第4版)》3.单继承和多继承类的单继承的优点《Java程序设计实用教程(第4版)》(2)接口的多态性《Java程序设计实用教程(第4版)》(3)类的多继承存在二义性问题《Java程序设计实用教程(第4版)》4.2内部类和内部接口publicclassPixel//像素类,外层类型,外部类{publicstaticinterfaceColorConstant//颜色常量接口,静态内部接口,类型嵌套pub
8、licstaticclassColorextendsObjectimplementsColorConstant//颜色类,静态内部类}类型嵌套:静态内嵌类型Pixel.Colorcolor=newPixel
此文档下载收益归作者所有