下面的代码中,为什么抽象方法可以用new来实现了?
import java.awt.*;
import java.awt.event.*;import javax.swing.*;
public class eventListener3 extends JFrame
{
JLabel jl;
JButton jb;
int i;
public eventListener3()
{
jb=new JButton("统计");
jl=new JLabel("   ");

jb.addActionListener(new hand() {
public  void actionPerformed(ActionEvent arg0){
jl.setText("" + i);
i++;
}
}

);
this.add(jb);
this.add(jl);


this.setTitle("Frame窗体");
this.setSize(300,300);
this.setLayout(new FlowLayout());
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
 eventListener3 fe=new  eventListener3(); }}abstract class hand implements ActionListener
{ @Override
public abstract void actionPerformed(ActionEvent arg0);

}