Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。
定义接口格式:
[public]interface 接口名称 [extends父接口名列表]
{
//静态常量
[public] [static] [final] 数据类型变量名=常量值;
//抽象方法
[public] [abstract] [native] 返回值类型方法名(参数列表);
}
实现接口格式:
[修饰符] class 类名[extends 父类名] [implements 接口A,接口B,···]
{
类成员变量和成员方法;
为接口A中的所有方法编写方法体,实现接口A;
为接口B中的所有方法编写方法体,实现接口B;
}
实例:
本例定义接口AreaInterface,其中有静态常量pai和求面积的抽象方法area()。类Circle和类Rectangle实现了AreaInterface接口,即为接口中的抽象方法area()编写了满足各自要求的方法体,分别求圆形和长方形的面积。
程序:AreaInterface.java
package jiekou;
public interface AreaInterface{
double pai=Math.PI;
double area();
}
程序:Circle.java
package jiekou;
public class Circle implements AreaInterface{
double r;
public Circle(double x){
r=x;
}
//实现接口中的抽象方法,求圆面积
public double area(){
return pai * r * r;
}
public String toString(){
return "圆:r="+r+"\tarea="+area();
}
}
程序:Rectangle.java
package iekou;
public class Rectangle implements AreaInterface{
double x,y;
public Rectangle(double a,double b){
x=a;
y=b;
}
public double area()//实现接口中的抽象方法,求长方形面积
{
return x * y;
}
public String toString()
{
return "长方形:x="+x+";y="+y+"\t"
area=+area();
}
}