如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Java课程讲义抽象类与接口学习目标抽象类接口接口的使用一个类可以在继承一个父类的同时,实现一个或多个接口,extends关键字必须位于implements关键字之前,如我们可以这样定义:interfaceFlyer{voidfly();}classBirdextendsanimalimplementsRunner,Flyer{publicvoidrun(){………}publicvoidfly(){………}}假设有若干(如1000)个Circle,Rectangle以及若干个其他形状,希望计算它们的总面积,直截了当的做法是将它们分别放到多个数组中,分别循环求出各形状的面积,然后累加,这种做法是不漂亮的。如果还有其它形状:triangle,ellipses等,上述方法显得“累赘”。我们希望有一种统一的表示,例如用一个数组shape[],接受所有的形状,然后用:for(i=0;i<shape.length;i++)area_total+=shape[i].area();首先看看Circle和Rectangle两个类,如何完成相关参数的计算用抽象类实现多种形状面积的累加abstractclassShape{abstractfloatcomputeArea();}用接口实现多种形状面积的累加interfaceShape2{publicabstractdoublecomputeArea();}用一个object数组实现多种形状面积的累加importjava.io.*;interfaceShape2{publicabstractdoublecomputeArea();}classCircle2implementsShape2{protecteddoubleradius;publicCircle2(double_radius){radius=_radius;}publicdoublecomputeArea(){returnMath.PI*radius*radius;}}classRect2implementsShape2{protecteddoublewidth,height;publicRect2(doublew,doubleh){width=w;height=h;}publicdoublecomputeArea(){returnwidth*height;}}publicclassaaa{publicstaticvoidmain(Stringargs[]){Shape2s[]={newCircle2(4),newRect2(4,4),newCircle2(10),newRect2(20,2),newRect2(8,10)};doubletotal=0;for(inti=0;i<s.length;i++)total=total+s[i].computeArea();System.out.println("totalArea="+(int)total);}}接口的作用