概述:
所谓适配,即找到自己所想要的,而又没有其他多余的成分在里面,比如想要实现某个接口里面的指定方法,而不用实现其它无用的方法就可以用到适配这种思想
相关知识:
1.抽象类(abstract修饰的类)没必要实现父类(接口)中的所有抽象方法
2.普通类必须要实现父类(接口)中的所有抽象方法
3.如果在继承某个接口的时候,只想要实现里面指定的方法,而不是实现所有的抽象方法,有一个方法就是通过一个Abstract类去实现该接口,并且覆盖里
面的所有抽象方法,写一个空方法体(这样做之后这个抽象类里面的方法都是具体方法了)。之后再继承这个抽象类,实现里面的指定方即可。
例子:
要求:实现CarFunchtion接口中的指定方法。
CarFunction.class
public interface CarFunction { public abstract void start(); public abstract void end(); public abstract boolean speed(); }
AbstractCar.Class去实现抽象接口中的所有方法,且每一个方法都是一个空方法体
public abstract class AbstractCar implements CarFunction{ @Override public void start() { } @Override public void end() { } @Override public boolean speed() { return false; } /** * 公共的操作定义在父类接口面 * @param same */ public void sameOpe(Same same){ same.doTheSame(); } public void changeColor(String color){ System.out.println("我想changeColor"); sameOpe(new Same(){ @Override public void doTheSame() { System.out.println("改变成" + color); } }); } /** * 这里面定义需要变化的操作 * @author hsyang * */ static interface Same{ public void doTheSame(); } }
RedCar.Class:重写指定的方法即可
public class RedCar extends AbstractCar{ @Override public void start() { System.out.println("start启动了"); } }