有的时候, 为可实现一个功能或者实例化一个对象, 需要实现一个接口, 但是接口应用的地方很多, 但是每个地方的实现都不尽相同, 而且需要实例化的地方就只只有那么一两处, 这个时候, 如果为了这些地方, 每个声明一个类来实现接口的话, 就会浪费很多空间, 还得费时编译, 匿名内部类可以在需要的地方使用接口, 可以在使用的同时实现, 这样不但节省了空间, 还可以使代码更加明了
一般的应用都是在Java界面编程上, Applet, Awt, Swing, SWT, 因为在注册事件侦听的时候, 就有上面的情况, 因为每个组件动作的处理都不一样, 而且注册事件只有一次, 用匿名类就比较方便了. 还有比较器, 用Collections.sort比较对象集合的时候, 直接实例化sort方法的第二个参数, 比较方便.
我觉得引入匿名类以后可以方便我们我们去创建接口实现类对象,主要体现在接口实现方面:例如一个接口里面就只有一个方法,这个时候匿名内部类就是显得有用了!我们可以直接 Runnable runnable=new Runnable(){
public void run() {
// TODO Auto-generated method stub
}
}
这样就就获得了一个实例对象
一般匿名类是实现很小的功能,但用过一次就不会再用的,有效代码不会超过4行。也就是少这么短的代码只让它运行一次。比如说给两个数做比较