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

 

转载于:https://www.cnblogs.com/studyCenter/p/7536087.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值