Java语言程序设计-第08章

Java语言程序设计-第08章

ID:41364933

大小:197.00 KB

页数:20页

时间:2019-08-23

Java语言程序设计-第08章_第1页
Java语言程序设计-第08章_第2页
Java语言程序设计-第08章_第3页
Java语言程序设计-第08章_第4页
Java语言程序设计-第08章_第5页
资源描述:

《Java语言程序设计-第08章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第八章接口和包一、抽象类和方法用abstract修饰的类被称为抽象类。所谓抽象类就是没有具体实例对象的类。抽象类通常包括一个或多个抽象方法(只有方法说明,没有方法体),抽象类的子类必须完成父类定义的每一个抽象方法,除非该子类也是抽象类。它的主要用途是用来描述概念性的内容,这样可以提高开发效率,更好地统一用户“接口”。定义抽象类abstractclass类名称{成员变量;方法();//定义一般方法abstract方法();//定义抽象方法}说明:抽象类中可以包含有一般方法,也可以包含有抽象方法;对于抽象方法不用完成其代码实现,而在派生的子类中

2、实现所有抽象方法。Java实例——抽象类publicabstractclassShape{publicdoublearea(){return0.0;}publicdoublevolume(){return0.0;}publicabstractStringgetName();}publicclassPointextendsShape{//通过Shape类继承protectedintx,y;//coordinatesofthePointpublicPoint(inta,intb){setPoint(a,b);}//带参数的构造器publicvo

3、idsetPoint(inta,intb){x=a;y=b;}publicintgetX(){returnx;}publicintgetY(){returny;}publicStringtoString(){return"["+x+","+y+"]";}publicStringgetName(){return"Point";}//实现抽象方法}Java实例——(续)publicclassCircleextendsPoint{//通过Point类继承protecteddoubleradius;publicCircle(doubler,inta

4、,intb){//带参数的构造器super(a,b);//调用超类构造器setRadius(r);}publicvoidsetRadius(doubler){radius=(r>=0?r:0);}publicdoublegetRadius(){returnradius;}publicdoublearea(){returnMath.PI*radius*radius;}publicStringtoString(){return"Center="+super.toString()+"Radius="+radius;}//引用父类的toString

5、()方法publicStringgetName(){return"Circle";}}Java实例——(续)publicclassCylinderextendsCircle{protecteddoubleheight;//heightofCylinderpublicCylinder(doubleh,doubler,inta,intb){super(r,a,b);setHeight(h);}publicvoidsetHeight(doubleh){height=(h>=0?h:0);}publicdoublegetHeight(){retur

6、nheight;}publicdoublearea(){return2*super.area()+2*Math.PI*radius*height;}publicdoublevolume(){returnsuper.area()*height;}publicStringtoString(){returnsuper.toString()+"Height="+height;}publicStringgetName(){return"Cylinder";}}Java实例——(续)importjavax.swing.JOptionPane;publi

7、cclassShow{publicstaticvoidmain(Stringargs[]){Pointpoint=newPoint(7,11);Circlecircle=newCircle(3.5,22,8);Cylindercylinder=newCylinder(10,3.3,10,10);ShapearrayOfShapes[]=newShape[3];arrayOfShapes[0]=point;arrayOfShapes[1]=circle;arrayOfShapes[2]=cylinder;Stringoutput=point.

8、getName()+":"+point.toString()+""+circle.getName()+":"+circle.toString()+""+cylinder.

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

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

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