- 1
- 0
- 约5.98千字
- 约 32页
- 2024-04-13 发布于四川
- 举报
接口和内部类接口接口是抽象类的一种极端情况,即接口中没有任何实现的方法。接口实际上是为所有实现接口的类定义了一个“规格”或一种“协议”,彻底的将实现分离开来。实例:接口接口是抽象类的一种变体,它与抽象类又有一些差异。接口是用关键字interface来定义的,形式为:[修饰符]interface接口名{???//方法和数据声明}接口中的所有方法都是抽象的(abstract可以缺省),没有方法体。必须在接口的子类中重写接口里所有抽象方法。接口接口的创建使用interface关键字,如:publicinterfacePCI{ intnum=124;//常量 voidstart();//方法 voidstop();}接口实质上是一个常量和抽象方法的集合,方法默认属性为:publicabstract;常量默认属性为:publicstaticfinal;接口接口的实现使用implements关键字实现一个接口的类必须实现接口中的所有方法,否则,必须将类定义为抽象类接口 圆形、三角形及图形的关系中,实际上图形的画法是不存在的,因为图形是个抽象的概念,只有具体的到某个具体图形才具有画法,因而可以把图形定义为接口类,而在它的子类圆形、三角形中实现画法,它们的关系如图接口的继承可以通过继承接口创建新的接口使用extends关键字实现接口的继承Java接口与多继承classAextendsB,C{ ……}classAextendsBimplementsC{ ……}接口说明如果一个抽象类中的所有方法都是抽象的,就可以将这个类用另外一种方式来定义,也就是接口定义。接口是抽象方法和常量值的定义的集合,从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现可以使用extends来继承接口的常量和抽象方法,但它与类中的extends不同,它可以继承有多个父接口(多重继承),各父接口间用逗号隔开。接口中的所有常量必须是publicstaticfinal,方法必须是publicabstract,这是系统默认的,不管你在定义接口时,写不写修饰符都是一样的
定义接口
接口定义1,接口中的成员变量默认都是public,static,final类型的(都可省略),必须被显示初始化,即接口中的成员变量为常量(大写,单词之间用_分隔)
2,接口中的方法默认都是public,abstract类型的(都可省略),没有方法体,不能被实例化
publicinterfaceA
??{
???intCONST=1;//合法,CONST默认为public,static,final类型
???voidmethod();//合法,method()默认为public,abstract类型
???publicabstractvoidmethod2();//method2()显示声明为public,abstract类型
??}
接口定义接口中只能包含public,static,final类型的成员变量和public,abstract类型的成员方法
??publicinterfaceA
??{
???intvar;//错,var是常量,必须显示初始化
???voidmethod(){...};??//错,接口中只能包含抽象方法
???protectedvoidmethod2();//错,接口中的方法必须是public类型
???staticvoidmethod3(){...};??//错,接口中不能包含静态方法
??}
接口定义接口中没有构造方法,不能被实例化
??publicinterfaceA
??{
???publicA(){...};//错,接口中不能包含构造方法
???voidmethod();
??}
接口定义一个接口不能实现(implements)另一个接口,但它可以继承多个其它的接口
??publicinterfaceA
??{
???voidmethodA();
??}
??publicinterfaceB
??{
???voidmethodB();
??}
??publicinterfaceCextendsA,B??//C称为复合接口
??{
???voidmethodC();
??}
??publicinterfaceCimplementsA{...}??//错
接口定义接口必须通过类来实
原创力文档

文档评论(0)