适配器模式:抽象类继承接口,重写其中不须要的方法为空方法,定义子类继承抽象类,重写没有实现的方法,这些方法就是咱们须要的方法。
java
public interface ButtonListener { public void click(); public void dbclick(); public void keyUp(); public void keyDown(); } public abstract class ButtonAdapter implements ButtonListener { @Override public void keyUp() { } @Override public 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 { @Override public void click() { System.out.println("click"); } @Override public 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(); }
多态:基于继承或实现,指父类引用指向子类变量。ide
父类的方法能够被子类重写,而属性不能,父类属性在父类对象内存区,子类属性在子类对象内存区
this