在线等。java监听器中参数传递的问题。

public class Leilis implements MouseListener, MouseMotionListener,
        ActionListener {
    SaoLei s;
    Leigame lg;
    CheckLei cl;
    int Click=0;
    public Leilis(SaoLei sa){

        this.s = sa;
        System.out.println("注册监听器时"+s.lei);![图片说明](https://img-ask.csdn.net/upload/201512/09/1449671176_760169.jpg)
        this.lg= new Leigame(s);
    }
    public void mouseClicked(MouseEvent e) {
        if(s.start){
            s.t.start();
            s.start=false;
        }

        System.out.println("在点击函数中"+s.getLei());

        if(e.getButton()==MouseEvent.BUTTON1)
        {
            LeiButton l1 = (LeiButton) e.getComponent();            
            cl  = new CheckLei(l1,lg);
            cl.lclick();
            if(cl.lclick()==1)
            {
                 cl.CheckS(s,l1);

            }
        }
        else if(e.getButton()==MouseEvent.BUTTON3)
        {
            LeiButton l2 = (LeiButton) e.getComponent();
            cl  = new CheckLei(l2,lg);
            cl.rclick(this.s);
        }

    } 
```![图片说明](https://img-ask.csdn.net/upload/201512/09/1449671198_573436.jpg)
为什么会自动调用很多次构造函数。
在mouseclick中调用类中的s的属性,也没法得到构造函数带来的参数的值。