java回调函数

来源:互联网 发布:尼特族 知乎 编辑:程序博客网 时间:2024/06/01 11:52
//回调申明import java.util.List;public interface CallBack {    void callbackMethod(List<Object> list);}//内部调用<pre name="code" class="java"><pre name="code" class="java">import java.util.List;public class InnerDeal {private CallBack callBack;InnerDeal(CallBack callBack){this.callBack=callBack;}public void execute(List<Object> list) {System.out.println("我要回调了"+"\n要处理的列表:");for(Object v:list){System.out.print(v+"\t");}callBack.callbackMethod(list);System.out.println("回调完成");}}


 //回调实现
import java.util.ArrayList;import java.util.List;<pre name="code" class="java">import java.util.ArrayList;import java.util.List;public class ResultTest {public static void main(String[] args) {List<Object> list=new ArrayList<Object>();list.add(10);list.add(20);list.add(87);new InnerDeal(new CallBack() {@Overridepublic void callbackMethod(List<Object> list) {System.out.println("\n嗯,我是回调函数,以下是我的处理结果:");int accumlate=0;for(Object v:list){accumlate+=(Integer)v;}System.out.println("结果:"+accumlate);}}).execute(list);System.out.println("------------------------------");new InnerDeal(new CallBack() {@Overridepublic void callbackMethod(List<Object> list) {System.out.println("\n嗯,我是回调函数,以下是我的处理结果:");int accumlate=0;for(Object v:list){Integer iv=(Integer) v;if(iv%2==1){continue;}accumlate+=iv*iv;}System.out.println("结果:"+accumlate);}}).execute(list);}}







0 0
原创粉丝点击