内部类指在类内部再定义了一个类,分为静态、实例和内部。由于可读性差,不经常用。匿名内部类是局部内部类的一种。
示例:
public class hello {
public static void main(String[] args) {
Math m=new Math();
m.printSum(new Sum() {
public int sum(int a,int b) {
return a+b;
}
}, 100, 2);
}
}
interface Sum {
int sum(int a,int b);
}
class Math{
public void printSum(Sum s,int a,int b) {
System.out.println(s.sum(a, b));
}
}
这里的接口Sum不能new,但是那里相当于创建了一个实现Sum的类,称为匿名的类。这种写法一般不建议。