比如KeyAdapter类与KeyListener的区别是不是就是一个是抽象类一个是接口?在使用的时候我们怎样去选择?public class Controller extends KeyAdapter implements ShapeListener{
@Override
public void keyPressed(KeyEvent e){
//...
}
}今天刚刚接触适配器的概念。有点模糊,网上说,适配器是为了解决某个接口与想要用的接口不一致的一种解决方案,但是在实际应用中如何体现出来?接口中很多方法都没有直接实现,我们直接在实现接口的类中实现不就可以了?为什么还要弄适配器这个东西?另外.KeyAdapter这个适配器类与KeyLsitener的区别在哪?在哪种情况下使用KeyAdapter?
@Override
public void keyPressed(KeyEvent e){
//...
}
}今天刚刚接触适配器的概念。有点模糊,网上说,适配器是为了解决某个接口与想要用的接口不一致的一种解决方案,但是在实际应用中如何体现出来?接口中很多方法都没有直接实现,我们直接在实现接口的类中实现不就可以了?为什么还要弄适配器这个东西?另外.KeyAdapter这个适配器类与KeyLsitener的区别在哪?在哪种情况下使用KeyAdapter?
适配器你不用去实现每个方法,而只需要override需要的那个接口就不一样,定义了多少你就得实现多少,这个有时候很累赘啊去找个Adapter的源代码看看,他也就是实现了Listener,然后所有接口中的方法都置空
/**
* Invoked when a key has been typed.
* This event occurs when a key press is followed by a key release.
*/
public void keyTyped(KeyEvent e) {} /**
* Invoked when a key has been pressed.
*/
public void keyPressed(KeyEvent e) {} /**
* Invoked when a key has been released.
*/
public void keyReleased(KeyEvent e) {}
}