首先,参考一下众多文章中,把接口回调讲得比较浅显易懂的两篇文章:
浅谈Java回调机制 2016-04-09 wa_lid 阿里百川
Java帝国之拨云见日识回调 原创 2017-01-05 王钦誉 码农翻身
举个例子
网友提供的一些例子,虽然接地气,但是,不够专业,还是欣叔的例子好一些,把代码取出来,原理讲解移步<码农翻身>公众号。
1public class XiaoZhang implements IFileIoCallback { 2 3 public void saveStr(){ 4 String fileName = "callback.txt"; 5 String str = "this is a callback demo."; 6 FileIO fileIO = new FileIO(); 7 fileIO.saveStrToFile(fileName,str,this); 8 } 9 10 @Override 11 public void onResult(boolean isSave) { 12 System.out.println(isSave ? "success" : "fail" ); 13 } 14} 15 16 17public class FileIO { 18 19 public void saveStrToFile(String fileName, String content, final IFileIoCallback callback){ 20 new Thread(new Runnable() { 21 @Override 22 public void run() { 23 try { 24 //write str to file... 25 callback.onResult(true); 26 }catch (Exception e){ 27 e.printStackTrace(); 28 callback.onResult(false); 29 } 30 } 31 }).start(); 32 } 33} 34 35 36 37public interface IFileIoCallback { 38 void onResult(boolean isSave); 39}