例如jdk中的Comparable与Comparator,按钮的事件处理addActionListener(new ActionLitener() {...});
在实用工具Arrays.sort()中,需要进行排序的对象实现了Comparable接口,或者传入一个Comparator接口的比较实现。如果对象只实现了Comparable接口,那么他的比较方式只有一种,而如果排序使用的是给sort()传Comparator接口的实现,就可以实现多种不同的比较排序方式。正因为在此,由于比较时不同的要求,而传入不同的Comparator的实现,实现了不同的排序方式(实现Comparable接口只有一种比较方式),即使用了不同的策略。像按钮的事件处理,都只需要一个提供一个实现了ActionListener接口的类的对象,方式都是同一个,但由于不同的应用,提供了不同的事件处理实现,实现了不同的功能,提供了不同的策略。