oat PI=3.14159f;//PI默认为public static final类型
? ? float getArea(float r);//方法getArea()默认为public abstract类型,注意抽象方法没有方法体?
? ? public abstract float getCircumference(float r);//计算面积
}
//定义接口CalInterface2
interface CalInterface2
{? ?
? ? void print(float r);//打印输出结果
}
//定义接口CalInterface3,继承接口CalInterface1和CalInterface2
interface CalInterface3 extends CalInterface1,CalInterface2{
? ? ?
}
输出结果:
? ? 半径为1.0的圆面积:3.14159,周长:6.28318
抽象类和接口的对比
(1)如果你拥有一些方法并且想让它们中的一些有默认实现,那么使用抽象类。
(2)如果你想实现多重继承,那么你必须使用接口。由于Java不支持多继承,子类不能够继承多个类,但可以实现多个接口。因此你就可以使用接口来解决它。
(3)如果基本功能在不断改变,那么就需要使用抽象类。如果不断改变基本功能并且使用接口,那么就需要改变所有实现了该接口的类。