使用接口和反射来实现的SortHelper类的一些问题

来源:1-1 最简单的排序算法:选择排序法

慕用3648452

2021-05-09 23:47:58

老师,您说的直接通过接口加上反射来实现的sortTest方法。在前面您也说过使用静态的sort方法来实现排序,但是如果是实现了接口的话就没办法将sort方法定义成静态的了,请问这个是有一个Java基础的知识我还没了解到吗?

写回答

1回答

liuyubobobo

2021-05-10

这部分录得时间有点儿长了,我有点儿没有印象当时的具体措辞了,可能措辞不够严谨。


你的理解是正确的,如果使用接口,就无法使用静态方法了。我们的排序算法类中的 sort 函数需要做成非静态方法。此时,可以对每一个算法类使用单例设计模式,保证只有一个算法类的实例(算法类有多个实例没有意义。)


同时,此时的 sortTest 使用的不是反射,而是多态,即传入的参数类型是算法类的接口(比如叫 ISorting),而实际调用时,可以传入各个算法类的实例。


继续加油!:)

1

算法与数据结构

波波老师5年集大成之作,算法与数据结构系统学习,考试、面试、竞赛通用

2584 学习 · 1062 问题

查看课程