1、A 和B 没有关系,如果要通讯,得把自己的对象传给对方。
2、这是JAVA虚拟机自己本身的机理,外人不得而知,至少我是不知道。

解决方案 »

  1.   

     - java.applet.Applet 是 java.awt.Component的子类
     - public void addMouseListener(java.awt.event.MouseListener l) 是
       java.awt.Component的一个方法
     - java.awt.event.MouseListener中
       有一个mouseClicked(java.awt.event.MouseEvent e)方法   所以你可以把任何实现了java.awt.event.MouseListener接口
       的类的实例, 通过addMouseListener来告诉你的Applet, 当
       JVM发现Applet区域被click之后,上述实例中的mouseClicked 
       方法会被调用(这大概相当于C中的callback,design pattern中
       的Command Pattern),同时java.awt.event.MouseEvent的一个
       实例被传入
        
       关于JVM是如何发现Applet区域被click,小衲不知道,嘻嘻
       估计是如楼上大侠所说,部分过程隐藏在JVM之内(不属于开放出来的API范畴),
       可以看看在这里边:
       java.awt.Component
       java.awt.AWTEventMulticaster
      

  2.   

    关于鼠标的问题:
    实现的接口相当于vc中的回调函数,也就是用系统调用的,系统什么时候调用,根据不同的函数功能而定。
    java的时间映射应用了oop的重载功能,本质上,有鼠标事件产生,系统调用MouseListener中的响应方法,你重载了或实现了这些方法,根据oop的虚函数特性,调用的是你写的事件方法,也就完成了事件映射。
    如有错误,大家指出。