匿名类
匿名类( anonymous class)是一种特殊的内部类
1.它没有类名,在定义类的同时就生成该对象的一个实例
2.“一次性使用”的类
匿名类的使用
1.不取名字,直接用其父类或接口的名字。
也就是说,该类是父类的子类,或者实现了一个接口
编译器生成 xxxxx$1之类的名字
2.匿名类的定义的同时就创建实例,即类的定义前面有一个 new
格式为: new 类名或接口名(){……}
不使用关键词class,也不使用extends及implements。
3. 在构造对象时使用父类构造方法不能够定义构造方法,因为它没有名字
如果new对象时,要带参数,则使用父类的构造方法
匿名类的应用
1.用到界面的事件处理
注册一个事件侦听器
//SymAction lSymAction = new SymAction();
//btnNew.addActionListener(lSymAction);
btnNew.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event)
{ btnNew_ActionPerformed(event);
} });
2.作为方法的参数
排序,给一个比较大小的接口
Arrays.<Book>sort( books, new Comparator<Book>(){ public int compare(Book b1, Book b2){
return b1.getPrice()-b2.getPrice();
} });