TimePrinter listener=new TimePrinter();
ActionListener listener=new TimePrinter();
public class TimePrinter implements ActionListener{.......}
//上面这两种对象声明方式有什么区别呢?两种好像都可以
ActionListener  listener =  new TimePrinter() // 可以这样搭配声明?
class TalkingClock{
public void start(int interval,final boolean beep){
ActionListener listener=new ActionListener()
{/*
public void actionPerformed(ActionEvent event){
Date now=new Date();
System.out.println(now);
if(beep)
Toolkit.getDefaultToolkit().beep();
}
};*/  //注释之间的这段代码是属于初始化块还是属于 listener的啊?
Timer t=new Timer(interval,listener);
t.start();
}
}

解决方案 »

  1.   

    TimePrinter listener=new TimePrinter(); 
    ActionListener listener=new TimePrinter(); 
    public class TimePrinter implements ActionListener{.......} 
    //上面这两种对象声明方式有什么区别呢?两种好像都可以 
    ActionListener  listener =  new TimePrinter() // 可以这样搭配声明? 
    class TalkingClock{ 
    public void start(int interval,final boolean beep){ 
    ActionListener listener=new ActionListener() 
    {/* 
    public void actionPerformed(ActionEvent event){ 
    Date now=new Date(); 
    System.out.println(now); 
    if(beep) 
    Toolkit.getDefaultToolkit().beep(); 

    };*/  //注释之间的这段代码是属于初始化块还是属于 listener的啊? 
    Timer t=new Timer(interval,listener); 
    t.start(); 

      

  2.   

    TimePrinter listener=new TimePrinter(); 
    ActionListener listener=new TimePrinter(); 
    public class TimePrinter implements ActionListener{.......} 
    //上面这两种对象声明方式有什么区别呢?两种好像都可以 
    ActionListener  listener =  new TimePrinter() // 可以这样搭配声明? 
    class TalkingClock{ 
    public void start(int interval,final boolean beep){ 
    ActionListener listener=new ActionListener() 
    {/* 
    public void actionPerformed(ActionEvent event){ 
    Date now=new Date(); 
    System.out.println(now); 
    if(beep) 
    Toolkit.getDefaultToolkit().beep(); 

    };*/  //注释之间的这段代码是属于初始化块还是属于 listener的啊? 
    Timer t=new Timer(interval,listener); 
    t.start(); 

      

  3.   

    注释之间的代码是实现了ActionListener接口的匿名内部类的实现部分.
      

  4.   

    TimePrinter listener=new TimePrinter(); 
    ActionListener listener=new TimePrinter(); 
    public class TimePrinter implements ActionListener{.......} 
    那这两种声明方式呢??都能声明 但是有什么不同点或者共同点吗?