java如何定义接口?
1.界面的定义
使用interface定义接口。接口的定义类似,也分为接口声明和接口体,其中接口体由常量定义和方法定义组成。定义接口的基本格式如下:
[Modifier]Interface Interface Name[[extends]的父接口名称列表] {
[公共][静态][最终]常数;
[公共][抽象]方法;
}
修饰符:可选,用于指定接口的访问权限,可选值为public。如果省略,则使用默认访问权限。
Interface Name:指定接口名称的必需参数,该名称必须是合法的Java标识符。一般来说,需要大写字母。
扩展父接口名称列表:可选参数,用于指定要定义的接口继承自哪个父接口。当使用extends关键字时,父接口名称是必需的参数。
方法:接口中的方法已定义但未实现。
比如定义一个计算的接口,其中定义了一个常数PI和两个方法。具体代码如下:
1公共接口
2 { ?
3最终浮动PI = 3.14159 f;//定义用来表示pi的常数PI?
4 float get area(float r);//定义一个计算面积getArea()的方法?
5 float get circumference(float r);//定义一个计算周长的方法,getCircumference()?
6 }
注意:
与Java类文件一样,接口文件的文件名必须与接口名相同。
2.接口的实现
定义接口后,可以在类中实现它。关键字implements可用于实现类中的接口,其基本格式如下:
[修饰符]类<类名>[扩展父类名][实现接口列表] {
}
Modifier:可选参数,用于指定类的访问权限。可选值为public、abstract和final。
类名:指定类名的必需参数,类名必须是合法的Java标识符。一般来说,需要大写字母。
Extensions Parent Class Name:可选参数,用于指定要定义的类继承自哪个父类。使用extends关键字时,父类名是必需的参数。
Implements Interface List:可选参数,用于指定该类实现了哪些接口。使用implements关键字时,接口列表是必需的参数。当接口列表中有多个接口名称时,接口名称用逗号分隔。
在类中实现接口时,方法的名称、返回值的类型、参数的数量和类型必须与接口中的完全相同,接口中的所有方法都必须实现。比如写一个名为Cire的类,实现5.7.1节定义的接口Calculate。具体代码如下:
1公共类Cire实现CalInterface
2 { ?
3公共浮动getArea(浮动r)
4 { ?
5浮动面积= PI * r * r//计算圆面积,赋给变量面积?
6返回区域;//返回计算出的圆面积?
7 } ?
8公共浮点getCircumference(浮点r)
9 { ?
10浮动周长= 2 * PI * r;?//计算圆的周长,赋给变量周长?
11回围;?//返回计算出来的周长?
12 } ?
13公共静态void main(String[] args)
14 { ?
15 Cire c = new Cire();?
16 float f = c . getarea(2.0f);?
17 system . out . println(float . tostring(f));?
18 } ?
19 }
在类的继承中,只能做单个继承,而在实现接口时,可以一次实现多个接口,每个接口之间用逗号隔开。此时,常量或方法名之间可能会有冲突。在解决这个问题时,如果常量发生冲突,需要明确指定常量的接口,可以通过“接口名”来实现。常数”。如果有方法冲突,只实现一个方法。下面通过一个具体的例子详细介绍上述问题的解决方法。