接口回调是指:可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被重写的接口方法。实际上,当接口变量调用被重写的接口方法时,就是通知相应的对象调用这个方法。
1 /** 2 * 接口OneToN 3 */ 4 public interface OneToN { 5 int dispose(int n); 6 } 7 8 /** 9 * Sum 实现接口 OneToN 10 * 方法: 11 * int dispose() 计算阶积 12 */ 13 public class Sum implements OneToN{ 14 15 @Override 16 //实现1 + 2 + 3 + ... + n 17 public int dispose(int n) { 18 int sum = 0; 19 for(int i = 0; i <= n; i++) { 20 sum += i; 21 } 22 return sum; 23 } 24 } 25 26 /** 27 * Pro类实现接口OneToN 28 * 方法: 29 * int dispose 计算阶层 30 */ 31 public class Pro implements OneToN{ 32 33 @Override 34 //实现阶乘 35 public int dispose(int n) { 36 int sun = 1; 37 for(int i = 1; i <= n; i++) { 38 sun *= i; 39 } 40 return sun; 41 } 42 } 43 44 /** 45 * 测试类 接口回调 46 */ 47 public class Test { 48 public static void main(String[] args) { 49 50 OneToN to; //声明接口变量 51 52 to = new Sum(); //接口变量中存放对象的引用 53 54 System.out.println(to.dispose(10)); //接口回调 55 56 to = new Pro(); //(被覆盖)接口变量中存放对象的引用 57 58 System.out.println(to.dispose(10)); //接口回调 59 } 60 }
原文:https://www.cnblogs.com/liuwenchuang/p/14729098.html