在Java程序员面试笔试宝典中看到的东西,感觉很有用,特开此文
函数指针一般作为函数的参数来使用,开发人员在使用是可以根据自己的需求传递自动以的函数来实现指定的功能,例如,在实现排序算法时,可以通过传递一个函数指针来决定两个数的先后顺序,从而最终决定算法是按照升序还是降序。
在Java中没有指针的概念,如何在Java语言中类似函数指针的功能呢?具体思路如下
①定义一个接口,接口中声明好方法
②可以有多个实现类实现接口中的方法
③创建一个函数,参数中有一个为接口
④把实现类的一个对象作为参数传递给调用调用程序的参数
实现例子代码之后补。
此处接口在函数中就是一个指针的功能,他可以指向所有实现了接口的实现类。这也是策略设计模式的所用到的思想