JavaSe之适配器(Adapter)

Posted 随意了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSe之适配器(Adapter)相关的知识,希望对你有一定的参考价值。

概述:

  所谓适配,即找到自己所想要的,而又没有其他多余的成分在里面,比如想要实现某个接口里面的指定方法,而不用实现其它无用的方法就可以用到适配这种思想

相关知识:

  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启动了");
    }
}

 

以上是关于JavaSe之适配器(Adapter)的主要内容,如果未能解决你的问题,请参考以下文章

Android适配器之ArrayAdapterSimpleAdapter和BaseAdapter的简单用法

设计模式之适配器模式 Adapter

JAVA SCRIPT设计模式--结构型--设计模式之ADAPTER适配器

图解设计模式之Adapter模式

适配器项目单击“从片段”

从适配器访问片段