接口、内部类和包.ppt

接口、内部类和包.ppt

ID:57052363

大小:563.50 KB

页数:37页

时间:2020-07-29

接口、内部类和包.ppt_第1页
接口、内部类和包.ppt_第2页
接口、内部类和包.ppt_第3页
接口、内部类和包.ppt_第4页
接口、内部类和包.ppt_第5页
资源描述:

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

1、接口、内部类和包接口内部类包JavaAPI基础接口(interface)interface这个关键字把抽象类的概念又推进了一步.接口只提供一种形式,并不提供任何实施的细节。接口是类的使用者和实现者之间的一种协议,对于使用者来说知道接口能够提供什么功能(方法),对于实现者,接口这样描述自己:“对于实现我的所有类,看起来都应该象我现在这个样子”。这便是接口的全部含义。接口:是特殊的抽象类,只包含常量和抽象方法的声明,而没有变量定义和方法的实现。接口与实现接口的类声明接口[public]interface接口[extends父接口]{[public][sta

2、tic][final]数据类型成员变量=常量值;[public][abstract]返回值类型成员方法[(参数列表)];}例如:publicinterfacePlane1//平面图形接口{publicabstractdoublearea();//计算面积}声明实现接口的类[修饰符]class类<泛型>[extends父类][implements接口列表]例如:publicclassRectangle2implementsPlaneGraphics2{覆盖并实现接口PlaneGraphics2中声明的所有接口函数}关于接口声明的几点说明在interfac

3、e中所有的方法都是public的,抽象的,即使你没有声明它是public的.在interface中所有的数据成员都是publicstaticfinal的,即使你没有申明.CaseStudy:Store.javaDirection.javaInterface可以从多个interface得到继承,但是不能继承类.CaseStudy:HorrorShow.java接口中的所有抽象方法必须全部被实现接口的类覆盖接口不能被实例化接口是引用数据类型PlaneGraphics2g1=newRectangle2(10,20);图形接口与实现图形接口的类设计平面图形接口

4、PlaneGraphics2。设计长方形类Rectangle2,实现平面图形接口case:PlaneGraphic2.java图形接口与实现图形接口的类用接口实现多重继承一个类可以继承一个父类并实现多个接口例4.2:长方体类继承长方形类并实现立体图形接口设计立体图形接口SolidGraphics2。设计长方体类Cuboid1,继承长方形类并实现立体图形接口。长方体类Cuboid1中必须再次覆盖area()和print()方法。计算周长方法存在问题。Case:Coboid1.java图4.3长方体类的多重继承接口与抽象类的区别相同点:两者都包含抽象方法。

5、两者都不能被实例化。两者都是引用数据类型。不同点:抽象类约定多个子类之间共同使用的方法;接口约定多个互不相关类之间共同使用的方法。抽象类与子类之间采用单重继承机制;一个类实现多个接口则实现了多重继承的功能。抽象类及其类中成员具有与普通类一样的访问权限;接口的访问权限有public和默认两种,接口中成员的访问权限均是public。抽象类中可以包含非抽象方法,也可以声明构造方法;接口中的方法全部是抽象方法,不能声明构造方法。抽象类中可以声明成员变量,子类可以对该成员变量赋值;接口中只能声明常量。内部类类和类之间的嵌套关系,一个类可以声明包含另外一个类声明内

6、部类publicclassLine//直线类,外部类{protectedPointp1,p2;//直线的起点和终点protectedclassPoint//点类,内部类{protectedintx,y;//内部类的成员变量protectedPoint(intx,inty)//内部类的构造方法{this.x=x;this.y=y;}}}内部类特性内部类的类特性内部类不能与外部类同名。内部类具有封装性。内部类具有继承性。内部类具有抽象性。内部类的成员特性使用点运算符“.”引用内部类。例如:Line.Point内部类具有4种类中成员的访问权限。内部类具有静态

7、特性。设计点类作为直线类的内部类。设计一个接口Direction,其中约定表示左、右、上、下4个方向的4个常量。设计点类作为直线类的内部类,点类实现方向接口。声明和使用接口中常量声明和调用内部类的成员方法Case:Line.java内部类Point编译生成字节码的文件名为Line$Point.class。编译单元每个编译单元必须是以.java结尾的文件名称,在一个编译单元里,可以有一个public的类,这个类的名字必须与文件的名字相同。在一个单元内,只能有一个public的类。编译一个.java文件时,对应于文件中的每一个类,会得到一个.class文件

8、,文件名与类的名字相同。一个程序是一堆.class文件。包:库单元一个库是一堆这样的.clas

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

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

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