//-定義接口 interface Command{ void process(int[] array); } //-實現類:1 class PrintCommand implements Command{ public void process(int[] array){ for(int arr:array){ System.out.println("數組的元素分別爲:"+arr); } } } //-實現類:2 class AddCommand implements Command{ public void process(int[] array){ int sum=0; for(int arr:array){ sum+=arr; } System.out.println("數組的總和爲"+sum); } } //-定義與實現類分離的類,經過多態的方式,調用實現類的方法 class ProcessComm{ public void process(int[] array,Command com){ com.process(array); } } //-調用與實現類分離的類,經過多態方式,獲取接口類型的 不一樣實現類實例 //-之後若要對實現類更換或修改,直接從新定義一個實現類,並在該類指向該實現類便可,不須要動過去的實現類 //-經過接口,完全實現規範與實現類的分離 public class CommandTest{ public static void main(String[] args){ int[] array={3,4,6,10}; ProcessComm pro=new ProcessComm(); pro.process(array,new PrintCommand()); pro.process(array,new AddCommand()); } }