Java的回调功能

根据《Java核心技术 卷I》的说明,Java开发者尽量不要使用Method的回调功能,建议使用接口的回调功能。因为接口的回调功能使得代码的执行速度更快,更易于维护。

Method(java.lang.reflect.method):

它的回调方式指的是invoke方法。使用method对象实现C(或C#中的委派)语言中函数指针的所有操作。同C一样,这种程序的设计风格并不太简单,出错的可能性也比较大,如果在调用方法的时候提供了一个错误的参数,那么invoke方法将会跑出一个异常。另外,invoke的参数和返回值必须是Object类型的。这就意味着必须进行多次的类型转换。这样做将会使编译器错过检查代码的机会。因此,等到测试阶段才会发现这些错误,找到并改正它们将会更加困难。不仅如此,使用反射获得方法指针的代码要比仅仅直接调用方法明显慢一些,所以建议仅在必要的时候才是用Method对象,而最好使用接口和内部类。

具体的可以参考:https://www.cnblogs.com/ixenos/p/5690209.html

--------------------------------------------------------------------------------------------------------------

接口的回调可参考:https://blog.csdn.net/hbyh632/article/details/78592242

原文地址:https://www.cnblogs.com/sharysea/p/11928165.html