接口.匿名内部类

package object01;

public interface Command {//定义一个接口 让其他类去实现
void pArray(int[] arr);  //打印数组

int addArray(int[] arr);  //数组求和
}

public class InplementArrays implements Command {  //实现接口内的方法
public void pArray(int[] arr) {
for (int Arr : arr) {
System.out.println("数组迭代输出为:" + Arr);
}
}
public int addArray(int[] arr) {
int sum = 0;
for (int Arr : arr) {
sum += Arr;
}
return sum;
}
}

//测试

public class ProcessArray {
public int process(int[] arr, Command cd) {
cd.pArray(arr);
return cd.addArray(arr);
}
public static void main(String[] args) {
ProcessArray p = new ProcessArray();
System.out.println(p.process(new int[] { 18, 2, 13, 5 },// InplementArrays qwe = new InplementArrays();
new InplementArrays()));// 相当于qwe 这里调用了接口实现InplementArrays implements Command
System.out.println("-------------------------------");
System.out.println(p.process(new int[] { 88, 2, 13, 1 }, new Command() {
@Override
public void pArray(int[] arr) { // 接口里的方法实现
for (int Arr : arr) {
System.out.println("数组迭代输出为:" + Arr);
}
}
@Override
public int addArray(int[] arr) {
int sum = 0;
for (int Arr : arr) {
sum += Arr;
}
return sum;
}
}));
}
}

原文地址:https://www.cnblogs.com/Lovemeifyoudare/p/10305733.html