JavaSe之適配器(Adapter)
阿新 • • 發佈:2017-09-17
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 publicvoid 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)