Java基础知识面试题系列二:11~20题
11.如何实现类似于C语言中函数指针的功能
在C语言中,有一个非常重要的概念——函数指针,最重要的功能是实现回调函数。
回调函数:
- 就是指函数现在某处注册,而它将在稍后某个需要的时候被调用。
- 在windows系统中,开发人员想让系统动态链接库(DLL)调用自己编写的一个方法,于是利用DLL当中回调函数的借口来编写程序,通过传递一个函数的指针来被调用,这个过程就是回调。
- 回调函数一般用于截获消息、获取系统消息或处理异步事件。
- 举个例子,程序员1写了一段程序啊,其中预留有回调函数接口,并封装好该程序。程序员2要让a调用自己程序b中的一个方法,于是他通过a中的接口回调属于自己的程序b中的那个方法。
函数指针一般作为函数的参数来使用,开发人员在使用时可以根据自己的需求来传递自定义的函数来实现指定的功能。例如,在实现排序算法时,可以通过传递一个函数指针来决定两个数的先后顺序,从而最终决定该算法是按升序还是降序排列。
在Java语言中没有指针的概念,可以利用接口与类来实现同样的效果。具体而言,
- 先定义一个接口,
- 然后在接口中声明要调用的方法,
- 接着实现这个接口
- 最后把这个实现类的一个

本文介绍了Java中实现类似C语言函数指针功能的方法,通过接口实现回调函数,展示了如何利用面向对象特性进行编程。接着讨论了package的作用,即解决命名冲突和组织代码。然后对比了面向对象与面向过程编程的区别,强调了面向对象的抽象、继承、封装和多态四大特征。此外,还探讨了继承与组合的不同,以及多态的实现机制和两种多态形式。最后,区分了重载和覆盖的概念及其在Java中的应用。
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



