接口回调介绍
接口回调和上转型是设计模式的解耦核心,可以说几乎所有的模式都是建立在这两者的应用之上的。
接口回调其本质与上转型是一样的,不同的是:接口回调是用接口句柄来得到并调用实现这个接口的子类的引用;而上转型则是用父类句柄来得到并调用继承此父类的子类的引用。 (参考自百度百科)
代码案例
interface Shape {
public static final double pi = 3.14;//public static final可省略
public abstract double area();//public abstract可省略
}
interface another{
//只用来做多继承思想的说明
}
class Circle implements Shape,another{//为多继承思想的体现
double radius;//新增变量
public Circle(double r) {//新增方法
radius = r;
}
public double area() {//实现接口的方法
return (pi*radius*radius);
//调用接口中的pi常量(可理解为继承过来的)
}
}
public class Exampleke9 {
public static void main(String[] args) {
Circle cir = new Circle(2.0);
System.out.println("Area of cir = "+cir.area());
Shape shape;//声明接口变量
shape = new Circle(2.0);//接口变量中存放对象的引用
System.out.println("Area of cir = "+shape.area());
//shape.area()为接口回调,若多个类implements一个接口,接口回调可以体现多态性
}
}