例如jdk中的Comparable與Comparator,按鈕的事件處理addActionListener(new ActionLitener() {...});
在實用工具Arrays.sort()中,需要進行排序的對象實現了Comparable接口,或者傳入一個Comparator接口的比較實現。如果對象只實現了Comparable接口,那么他的比較方式只有一種,而如果排序使用的是給sort()傳Comparator接口的實現,就可以實現多種不同的比較排序方式。正因為在此,由于比較時不同的要求,而傳入不同的Comparator的實現,實現了不同的排序方式(實現Comparable接口只有一種比較方式),即使用了不同的策略。像按鈕的事件處理,都只需要一個提供一個實現了ActionListener接口的類的對象,方式都是同一個,但由于不同的應用,提供了不同的事件處理實現,實現了不同的功能,提供了不同的策略。