public class ButtonHandle implements ActionListener
{
Button b;
b.addActionListener(this);//这里面的参数应该是一个接口类型,可为什么用this也行呢?
public void actionPerformed(ActionEvent e)
{

}

}

解决方案 »

  1.   

    请看你的类定义,你类ButtonHandle 本身就实现了ActionListener,
    而方法addActionListener的参数必定是一个实现ActionListener的类, 所以你的this是可以的
      

  2.   

    API里说那个参数应该是一个接口类型啊?可是这里的this是一个类!
      

  3.   

    因为ButtonHandle实现了ActionListener接口
      

  4.   


    你最好吧JAVA基础部分看下,如果一个类实现了某个接口,那么形式参数为接口的地方,类就可以作为实际参数放入举个例子
    interface Inf{}
    class Impl implements Inf{
    }那么加入某个类ClassA 中定义了一个方法
    class ClassA{public void f(Inf inf ){}
    }则你实际用实参调用时候就可以用使用接口的任何对象
    public class Test{
    public static void main(String [] args){
    ClassA a = new ClassA();
    Inf someImpl= new Impl();
    a.f(someImpl);  //这个是true
    }}
      

  5.   

    ButtonHandle implements ActionListener 
    多态,呵呵