回调函数理解

2023-01-28 0 373

java反弹表达式在网路上了看了些范例,较为绕,不如明晰,他们写的两个范例较为浅显,java反弹只不过很单纯。

举个范例我是类B,我有个方式叫b(),那时我要初始化类A中的方式a(),写个标识符是:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

public class ClassB{ //我是类 B

public void b(){ //我是类B中的方式b()

ClassA a = new ClassA();//我那时示例化A类,以求初始化A类中的方式a()

a.a(); //快看我那时已经开始初始化A类中的a()方式了,程序执行到这我们都懂,是两个普通的初始化其他类的方式,

//那么反弹怎么回事,反弹是我执行a()方法结束后,需要再执行我他们(类B)的方式back()

//反弹是这个意思,我初始化你的方式,初始化完你的方式后,再回过头来初始化他们的方式

//注意,有人就要说了 我在a.a()方式后面直接加上两个 back()不就行了,可以,但那不是反弹表达式

//反弹更像是两个约定,是如果我初始化了a()方式,那么就必须要反弹,而不需要显示初始化

}

public void backs (){

System.out.println(“我是反弹表达式”);//暂时不要管我,只不过我是反弹表达式

}

}

再举个范例是:我是老板(Boss),我有一部电话叫back,那时我安排了两个任务给员工(Emp),让他给我打印一份报表(doPrint),打印好报表后再通过我的

电话back告诉我。那么流程就很明晰了

1

2

3

4

5

6

7

8

public class Boss{ //我是老板

Emp emp = new Emp();//那时我new两个员工出来

emp.doPrint(); //我那时让这个员工去给我打印一份报表,报表打印好后直接通过back电话通知我。

public void back(){

System.out.println(“老板报表打印好了,请你放心!”);//这个是我的电话

}

}

上面说了

1

2

3

emp.doPrint();//报表打印好后

back(); //直接通过back电话告诉老板,这种写法不是反弹

那么我怎么让员工emp.doPring();打印好报表后打电话给我呢。可以想象一下是在emp.doPrint();打印报表这个方式中再次初始化Boss的电话

1

2

3

4

5

6

7

public class Emp(){ //员工

public void doPrint(){ //员工已经开始打印报表了

System.out.println(“老板我报表打印好了”);//这个时候员工把报表打印好了,再通过老板的电话通知老板,怎么做呢?

Boss boss = new Boss();

boss.back(); //这是通过老板的电话在我打印好了以后,告知老板

}

}

这样就实现了我doPrint();//报表打印好后,反弹Boss的电话通知Boss,这就是反弹

以上都是伪标识符,只是为了说明什么是反弹,但是在实际应用中,都是利用接口设置反弹表达式的接口

回调函数理解

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务