我在想,回调是不是由JVM自然进行的?
比如,当你在按钮上点击一下时,就会调用ActionListener的相应的方法,这是不是事先在设计JVM时就已经固定好了的?望高手指点,

解决方案 »

  1.   

    不是的,是编程完成的,建议你自己去读JDK有关AWT的原代码,你会发现是怎么实现的
      

  2.   

    你可以了解一下观察者模式,注意监听器都是要注册的每个监听器都注册在类的集合中,当发生某种事件,就会依次调用集合中所有监听器的接口方法,就这样通知道每一个ActionListener或者可以通过对接口方法执行进行动态代理,也能达到主动监听某个接口方法的执行
      

  3.   

    谢谢kypfos(不在寻梦)的回答,
    可是还不是太明白你的意思,
    就举一个简单的例子吧,
    为什么我在一个按钮上面点击一下,就会触发ActionEvent事件,这事件是由谁产生的,是不是由JVM检测到你的鼠标点击了下,然后它就自动产生一个ActionEvent事件对象,然后将它传给ActionEventListener监听器的相关方法?你赞不赞成我所说的,
    如果你赞成,那么回调是由JVM自动来实现的,又有什么不对呢?