内部类可以分为四种:
/* 不建议使用匿名内部类,因为一个类没有名字,无法重复使用。 且代码太乱,可读性差。 */ public class Test{ public static void main(String[] args){ Math m = new Math(); //m.mySum(new ComputeImpl(), 100, 200); //使用匿名内部类 m.mySum(new Compute(){ public int sum(int a, int b){ return a + b; } }, 100, 200); } } interface Compute{ //抽象方法 int sum(int a, int b); } /* class ComputeImpl implements Compute{ public int sum(int a, int b){ return a + b; } } */ class Math{ public void mySum(Compute c, int x, int y){ int value = c.sum(x,y); System.out.println(x + "+" + y + "=" + value); //100+200=300 } }