抽象类和接口案例

抽象类和接口案例

ID:18087347

大小:55.00 KB

页数:6页

时间:2018-09-13

抽象类和接口案例_第1页
抽象类和接口案例_第2页
抽象类和接口案例_第3页
抽象类和接口案例_第4页
抽象类和接口案例_第5页
资源描述:

《抽象类和接口案例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、项目1.什么是抽象类某些类在现实世界中是不能直接找到其对应的实例的,如车这个类,不可能为它找到一个对应的事物,因为现实世界中只有汽车、自行车、火车等事物,而它们都是车的子类,不能说是车这个类的实例,这样的类称为抽象(abstract)类。l抽象类和抽象方法的定义抽象类的定义:publicabstractclass类名{}抽象方法的定义:publicabstract<返回类型>方法名(参数列表);例如:abstractclassbasic{abstractvoidsleep();publicstaticvoidmain(String[]args){System.out.println(

2、"HelloWorld!");}}²明确:vJava允许在类中只声明方法而不提供方法的实现。这种只有声明而没有方法体的方法称为抽象方法,而包含一个或多个抽象方法的类称为抽象类。v抽象类在使用上有特殊的限制,即不能直接创建抽象类的实例,需要继承该抽象类,并在实现继承的子类中重写所有的抽象方法。v在类中没有方法体的方法,就是抽象方法。v含有抽象方法的类,即为抽象类。v如果一个子类没有实现抽象基类中所有的抽象方法,则子类也成为一个抽象类。v构造方法、静态方法、私有方法、final方法不能被声明为抽象的方法。项目2:抽象类创建实例publicabstractclassShape{//形状类p

3、rotecteddoublelength;//长protecteddoublewidth;//宽publicShape(doublelength,doublewidth){this.length=length;this.width=width;}publicabstractdoublearea();//计算面积}    这是一个抽象类shape,它提供了所有子类需要的属性和方法,其中的抽象方法area()是求面积(体积)的意思,它只是提供了这个类的对外接口的模式,至于它的子类怎么计算,与它无关。而shape的非抽象子类,如Triangle和Rectangle等都必须实现area()这

4、个方法,但实现的方法体不一样。publicclassTriangleextendsShape{//三角形Triangle(doublenum,doublenum1){super(num,num1);}publicdoublearea(){//三角形面积returnlength*width/2;}}publicclassRectangleextendsShape{//矩形Rectangle(doublenum,doublenum1){super(num,num1);}publicdoublearea(){//矩形面积returnlength*width;}}publicclassTes

5、tArea{publicstaticvoidmain(String[]args){Triangletr=newTriangle(3,5);Rectanglere=newRectangle(4,6);System.out.println("三角形的面积"+tr.area());System.out.println("矩形的面积"+re.area());}}接口项目3:什么是接口接口(interface)在有些资料上称为界面。Java的接口与包相似,也是用来组织应用中的各类并调节它们的相互关系的一种结构。更准确地说,接口是用来实现类间多重继承功能的结构。所谓多重继承,是指一个子类可以有一

6、个以上的直接父类,该子类可以继承它所有直接父类的成员。某些面向对象的语言,在Java中,出于简化程序结构的考虑,不再支持类间的多重继承而只支持单重继承,即一个类至多只能有一个直接父类。然而在解决实际问题的过程中,仅仅依靠单重继承在很多情况下都不能将问题的复杂性表述完整,需要其他的机制作为辅助。由于Java只支持单重继承,所以Java程序中的类层次结构是树状结构,这种树状结构在处理某些复杂问题时会显得力不从心。同时随着类结构树的生长,越是处在下层的子类,它的间接父类(间接父类是直接父类的父类,即祖先)越多,所继承的方法也会越来越多,造成子类成员的膨胀、庞杂,难以管理和掌握。为了使Jav

7、a程序的类层次结构更加合理,更符合实际问题的本质,编程者可以把用于完成特定功能的若干属性组织成相对独立的属性集合;凡是需要实现这种特定功能的类,都可以继承这个属性集合并在类内使用它,这种属性集合就是接口。需要特别说明的是,Java中一个类获取某一接口定义的功能,并不是通过直接继承这个接口中的属性和方法来实现的。因为接口中的属性都是常量,接口中的方法都是没有方法体的抽象方法。也就是说,接口定义的仅仅是实现某一特定功能的一组功能的对外接口和规范,而并没有真正地

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

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

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