适配器模式:抽象类继承接口,重写其中不需要的方法为空方法,定义子类继承抽象类,重写没有实现的方法,这些方法就是我们需要的方法。

public interface ButtonListener {public void click();public void dbclick();public void keyUp();public void keyDown();}public abstract class ButtonAdapter implements ButtonListener {@Overridepublic void keyUp() {}@Overridepublic void keyDown() {}}public class Button {private ButtonListener bl;public void addListener(ButtonListener bl) {this.bl = bl;};public void click() {bl.click();}public void dbClick() {bl.dbclick();}}class ButtonMove extends ButtonAdapter {@Overridepublic void click() {System.out.println("click");}@Overridepublic void dbclick() {System.out.println("double click");}}public static void main(String[] args) {Button b = new Button();b.addListener(new ButtonMove());b.click();b.dbClick();}

多态:基于继承或实现,指父类引用指向子类变量。

父类的方法可以被子类重写,而属性不能,父类属性在父类对象内存区,子类属性在子类对象内存区