java方法调方法的方式分两种
第一种同步调用
A实例对象方法a()调用B实例对象b(),a()方法需要等b()执行完才往下走。这种调用方式适用于方法b()执行时间不长的情况,因为b()方法执行时间一长或者直接阻塞的话,a()方法的余下代码是无法执行下去的,这样会造成整个流程的阻塞。
特殊地回调调用
A实例对象方法a()调用B实例对象b(),B实例对象b()调用A实例对象方法callback()。
实现案例:
学生接口
老师接口
老师、学生实现类
main方法
结果
第二种异步调用
异步调用是为了解决同步调用出现的阻塞,导致整个流程卡住而产生的一种调用方式。 A实例对象方法a()调用B实例对象b(),代码接着直接往下执行,这样无论方法b()执行时间多久,都不会阻塞住方法a()的执行。但是这种方式,由于方法a()不等待方法b()的执行完成,在方法a()需要方法b()执行结果的情况下(视具体业务而定,有些业务比如启异步线程发个微信通知、刷新一个缓存这种就没必要),必须通过一定的方式对方法b()的执行结果进行监听。在Java中,可以使用Future+Callable或者join或者CountDownLatch的方式做到这一点,详情看==>https://blog.csdn.net/Growing_hacker/article/details/111645972