public class ButtonHandle implements ActionListener
{
Button b;
b.addActionListener(this);//这里面的参数应该是一个接口类型,可为什么用this也行呢?
public void actionPerformed(ActionEvent e)
{
}
}
{
Button b;
b.addActionListener(this);//这里面的参数应该是一个接口类型,可为什么用this也行呢?
public void actionPerformed(ActionEvent e)
{
}
}
而方法addActionListener的参数必定是一个实现ActionListener的类, 所以你的this是可以的
你最好吧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
}}
多态,呵呵