黑马程序员技术交流社区

标题: 求助:匿名内部类问题 [打印本页]

作者: xbs783    时间: 2016-11-3 11:10
标题: 求助:匿名内部类问题

源代码:
import java.awt.Toolkit;
import java.awt.event.ActionListener;
import java.util.Date;
import javax.swing.*;

public class AnonymousInnerClassTest {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                TalkingClock clock = new TalkingClock();
                clock.start(10000, true);
               
                //keep program running until user select "ok"
                JOptionPane.showMessageDialog(null, "Quit the program !");
                System.exit(0);
        }
}

class TalkingClock{
        public void start( int interval ,final boolean beep ){
                ActionListener listener = new ActionListener(){
                        public void actionPerformed( Action event ){
                                Date now = new Date();
                                System.out.println("Now time is " + now);
                                if( beep ){
                                        Toolkit.getDefaultToolkit().beep();
                                }
                        }
                };
               
                Timer t = new Timer( interval, listener );
                t.start();
        }
}


关于匿名内部类的学习中遇到的,编译报错信息:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
        The type new ActionListener(){} must implement the inherited abstract method ActionListener.actionPerformed(ActionEvent)

        at TalkingClock.start(AnonymousInnerClassTest.java:24)
        at AnonymousInnerClassTest.main(AnonymousInnerClassTest.java:13)

在网上查了下,也查了资料,没找到错误原因,求大神指教!!!!!
作者: Tyoo    时间: 2016-11-3 13:46
提示很清楚了,说没有实现继承过来的抽象方法,还告诉你是哪个方法 ActionListener.actionPerformed(ActionEvent),你实现的是public void actionPerformed( Action event )传入的参数不一样不叫重写,叫重载了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2