Java接口中静态方法和默认方法
接口中可以用static关键字定义静态方法,静态方法不能被子接口及实现类继承,调用 方式为“接口名.静态方法”。
接口中可以用default关键字定义默认方法,默认方法可以被继承,也可以被覆盖,调 用接口的默认方法必须用实现类的实例来访问。
示例:
package ch08;
interface Face{
final static double PI=3.14;
public default double area(int r){ //默认方法
return r*r*PI;
}
abstract double volume(int r,double h); //抽象方法
public static String show(){ //静态方法
return "我是 Face接口中的静态方法";
}
}
public class Demo implements Face{
public double volume(int r,double h){
return area(r)*h;
}
public static void main(String[] args){
System.out.println(Face.show()); //接口调用静态方法
Demo ap=new Demo(); //下面是接口实现类的实例调用接口的默认方法
System.out.println("圆的面积为:"+ap.area(10));
System.out.println("圆柱体体积为:"+ap.volume(10,2.0));
}
}