接口
接口所有的方法默认都是公开抽象的(public abstracrt)属性都是静态常量(public static final)
接口的对象不能引用接口中没有的方法,除非使用强制类型转换
package test;
interface Area
{
double PI=Math.PI;
double calculateArea();
}
class MyRectangle implements Area
{
double width,height;
MyRectangle(double a,double b)
{width=a;height=b;}
public double calculateArea()
{
return width*height;
}
}
class MyCircle implements Area
{
double r;
MyCircle(double a)
{r=a;}
public double calculateArea()
{
return PI*r*r;
}
public double getCircumference()
{
return 2*PI*r;
}
}
public class TestArea
{
public static void main(String args[])
{
Area aGraphic=new MyCircle(2.5);
System.out.println("面积是:"+aGraphic.calculateArea()+" 周长是:"+((MyCircle) aGraphic).getCircumference());//强制类型转换
aGraphic=new MyRectangle(2.0,5.0);
System.out.println("面积是:"+aGraphic.calculateArea());
}
}
注意:接口并不是类,不能继承extends
并且public interface需要分文件编写