Java语言程序设计实用教程第六讲接口与内部类

Java语言程序设计实用教程第六讲接口与内部类

ID:38967074

大小:582.81 KB

页数:34页

时间:2019-06-22

Java语言程序设计实用教程第六讲接口与内部类_第1页
Java语言程序设计实用教程第六讲接口与内部类_第2页
Java语言程序设计实用教程第六讲接口与内部类_第3页
Java语言程序设计实用教程第六讲接口与内部类_第4页
Java语言程序设计实用教程第六讲接口与内部类_第5页
资源描述:

《Java语言程序设计实用教程第六讲接口与内部类》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java语言程序设计实用教程SISEJava语言程序设计实用教程Java语言程序设计实用教程SISE第六讲接口与内部类Java语言程序设计实用教程本章学习要点:SISEq理解抽象类与接口q理解内部类及其应用q利用接口提供Java中多重继承的性质3Java语言程序设计实用教程SISE6.1接口-抽象类Java语言程序设计实用教程抽象类SISEl用abstract修饰的类被称为抽象类。所谓抽象类就是没有具体实例对象的类。l抽象类通常包括一个或多个抽象方法(只有方法说明,没有方法体),抽象类的子类必须完成

2、父类定义的每一个抽象方法,除非该子类也是抽象类。l抽象类的主要用途是用来描述概念性的内容,这样可以提高开发效率,更好地统一用户“接口”。Java语言程序设计实用教程定义一个抽象类SISqEabstractclass类名称q{q成员变量;q方法();//定义一般方法qabstract方法();//定义抽象方法q}q说明:抽象类中可以包含有一般方法,也可以包含有抽象方法;对于抽象方法不用完成其代码实现,而在派生的子类中实现所有抽象方法。Java语言程序设计实用教程抽象类实现的例子SISEl如前所述你可能

3、对抽象类的概念有点模糊,下面举一个具体实例来作说明。l假设想设计一个形状(shape)的父类CShape,由此类可派生出圆形(circle),长方形(rectangle)于三角形(triangle)等几何形状的类。则父类于子类的派生关系描绘成如下CS图hap所e类示。CRectangle类CCircle类CTriangle类Java语言程序需求假设设计实用教程SISlE假设这些几何形状均具有“颜色”(color)这个属性,因此可以把color这个数据成员,以及赋值color的方法均设计在父类里,让它

4、继承给各个形状的子类较为方便,如此就不用在每一个几何形状的子类里,设计相同的程序代码来处理“颜色”这个属性的问题。l另外,如果想为每一个几何形状的类设计一个area()方法,用来显示几何形状的面积,因每种几何形状的面积计算方式并不相同,所以把area()方法的处理方式设计在父类里并不恰当,但每一个由CShape父类所派生出的子类又都需要用到这一个方法,因此可以在父类里只声明area()方法,而把area()方法处理的方法留在子类里来定义,也就是说,把area()声明成抽象方法即可解决这个问题。根据上

5、述的概念,可编写出如下的父类程序代码:Java语言程序设计实用教程定义抽象类CShapeSISEabstractclassCShape//定义抽象类{protectedStringcolor;//数据成员publicvoidsetColor(Stringstr){color=str;//一般的方法,用来赋值几何形状的颜色}abstractvoidarea();//抽象类内的抽象方法}Java语言程序设计实用教程抽象类CShape派生的子类CCricleSISEclassCCircleextendsC

6、ShapeCShape{doubleradius;//数据成员publicCCircle(doubler)//构造函数{radius=r;}在此处明确定义publicvoidarea()area()的处理方法{System.out.print(“Color=“+color+”,”);System.out.print(“area=“+3.14*radius*radius);}}Java语言程序设计实用教程抽象类CShape派生的子类CRectangleSISclEassCRectangleextend

7、sCShape{intwidth,height;publicCRectangle(intw,inth){width=w;height=h;}publicvoidarea(){System.out.print(“color=“+color+”,“);System.out.print(“area=“+width*height);}}Java语言程序设计实用教程应用SISEPublicclassapp10-1{publicstaticvoidmain(Stringargs[]){CRetanglerect

8、=newCRectangle(5,10);rect.setColor(“yellow”);rect.area();CCirclecir=newCCircle(2.0)cir.setColor(“Green”);cir.area();}}Java语言程序设计实用教程SISE6.1接口-接口Java语言程序设计实用教程SISEl接口(interface)是Java所提供的另一种重要功能,它的结构和抽象类非常相似。接口本身也具有数据成员与抽象方法,但它与抽象类有下列两点不同

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

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

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