1. 程式人生 > >JavaSe之適配器(Adapter)

JavaSe之適配器(Adapter)

start nbsp 如果 ret end 找到 () 例子 string

概述:

  所謂適配,即找到自己所想要的,而又沒有其他多余的成分在裏面,比如想要實現某個接口裏面的指定方法,而不用實現其它無用的方法就可以用到適配這種思想

相關知識:

  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)