接口是另一种定义数据类型的方式。它和类非常相似的。使用interface关键字。
相同之处:都有成员变量和成员方法,也可以形成继承关系
不同之处:接口中的属性都是常量(final),接口中的方法是抽象方法(没有方法体)
引入接口的原因:Java只支持单重继承,每个类只能有一个超类。但实际应用中有时候需要多重继承--使用接口,一个类可以实现多个接口。
例题:
Figure类:
public interface Figure
{
final double PI=3.14;
abstract void area();
}
Cir1 类:
public class Cir1 implements Figure
{
double radius;
public Cir1(double r)
{
this.radius=r;
}
public void area()
{
System.out.println("圆的面积="+PI*radius*radius);
}
}
Rec1类:
public class Rec1 implements Figure
{
double width,height;
public Rec1(double width,double height)
{
this.width=width;
this.height=height;
}
public void area()
{
System.out.println("长方的面积="+width*height);
}
public static void main(String[] args)
{
Cir1 c=new Cir1(10.0);
c.area();
Rec1 r=new Rec1(10.0,5.0);
r.area();
}
}