第5节抽象类、接口与内部类.ppt

第5节抽象类、接口与内部类.ppt

ID:68239792

大小:203.00 KB

页数:39页

时间:2021-10-11

第5节抽象类、接口与内部类.ppt_第1页
第5节抽象类、接口与内部类.ppt_第2页
第5节抽象类、接口与内部类.ppt_第3页
第5节抽象类、接口与内部类.ppt_第4页
第5节抽象类、接口与内部类.ppt_第5页
第5节抽象类、接口与内部类.ppt_第6页
第5节抽象类、接口与内部类.ppt_第7页
第5节抽象类、接口与内部类.ppt_第8页
第5节抽象类、接口与内部类.ppt_第9页
第5节抽象类、接口与内部类.ppt_第10页
资源描述:

《第5节抽象类、接口与内部类.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、第5章抽象类、接口与内部类5.1抽象类5.2接口5.3内部类5.4包第5章抽象类、接口与内部类5.1抽象类(1)在继承的层次关系中,从子类到父类,类就变的更一般、更通用。类的设计应该保证父类包含子类的共同特征,也就是父类应该是子类的良好的抽象。有时我们将一个父类设计的非常非常的抽象,以至于它都没有具体的实例,这样的类我们称之为抽象类(abstractclass).当需要一个类作为一个更通用的接口来控制一系列的相关类的时候,我就要创建一个抽象类来实现这个功能5.1抽象类(2)抽象类:用abstract关键字来修饰一个类时,该类叫做抽象类;抽象类必须被继承。抽象类不能被直接实例化。它只能作为其

2、它类的超类,这一点与最终类(final类)正好相反。抽象方法:用abstract来修饰一个方法时,该方法叫做抽象方法。抽象方法必须被重写抽象方法只有声明,不能有实现。定义了抽象方法的类必须是抽象类。abstractreturnTypeabstractMethod([paramlist]);两个类Circle和RectanglepublicclassRectangle{publicfloatwidth,height;Rectangle(floatwidth,floatheight){this.width=width;this.height=height;}publicdoublearea()

3、{returnwidth*height;}}publicclassCircle{publicfloatr;Circle(floatr){this.r=r;}publicdoublearea(){return3.14*r*r;}}5.1抽象类(3)假设有若干个Circle,以及若干个Rectangle,希望计算它们的总面积,直截了当的做法是将它们分别放到两个数组中,用两个循环,加上一个加法,这种做法是不漂亮的。如果还有其它形状:Triangle等,上述方法显得“累赘”。我们希望有一种统一的表示,例如用一个数组shape[],接受所有的形状,然后用:for(i=0;i

4、;i++){area_total+=shape[i].area();}5.1抽象类(4)abstractclassShape{abstractdoublearea();}classRectangleextendsShape{publicfloatwidth,height;Rectangle(floatw,floath){this.width=width;this.height=height;}publicdoublearea(){returnwidth*height;}}classCircleextendsShape{publicfloatradius;Circle(floatradius

5、){this.radius=radius;}publicdoublearea(){return3.14*radius*radius;}}5.1抽象类(5)5.1抽象类(6)通过上面的例子我们可以看出,抽象类Shape是Circle和Rectangle的统一的接口。使利用Circle和Rectangle的对象变的更加方便。在例子中抽象类Shape被Circle和Rectangle继承,抽象类必须在被继承并其继承它的类不再是抽象类的时候才能被实例化,抽象方法必须被重写。5.2接口5.2.1接口的定义与实现5.2.2用接口实现Java中的多重继承5.2.3接口的扩展5.2.4接口的嵌套接口(in

6、terface)就是方法定义和常量值的集合。从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有方法的实现。通过接口可以实现不相关类的相同行为,而不需要考虑这些类之间的层次关系。通过接口可以指明多个类需要实现的方法。通过接口可以了解对象的交互界面,而不需了解对象所对应的类。5.2接口用implements子句来表示一个类使用某个接口。在类体中可以使用接口中定义的常量,而且必须实现接口中定义的所有方法。利用接口可实现多重继承,即一个类可以实现多个接口,在implements子句中用逗号分隔。接口的作用和抽象类相似,只定义原型,不直接定义方法的内容。接口中的方法和变量

7、必须是public的。5.2.1接口的定义与实现5.2.1接口的定义与实现Java中的接口声明的语法为:interfaceinterfaceName{//接口体//常量域声明域类型域名=常量值;//抽象方法声明返回值方法名(参数列表);}例如:interfacemyinterface{voidf();intg();}5.2.1接口的定义与实现接口实现用关键字implements,实现的具体形式:classClassNam

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

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

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