<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    自寫自看

    利用方法名稱執行方法行為的源代碼

    public class TestReflectCommand {


    public static void main(String[] args){

    CommandLoader cl=new DefaultCommandLoader(new DefaultShowCommand());
    cl.excute("executeShowList",null);
    }
    }

    public interface CommandLoader {

    void excute(String commandName,Object[] argument);
    }


    public class DefaultCommandLoader implements CommandLoader {


    private ShowCommand showCommand;

    private HashMap subCommandMap=new HashMap();

    public DefaultCommandLoader(ShowCommand showCommand){
    this.showCommand=showCommand;
    init();
    }


    private void init() {

    Method[] allMethod=this.showCommand.getClass().getMethods();
    for(int i=0;i<allMethod.length;i++){
    Method m=allMethod;
    if(m.getName().startsWith("execute")){
    subCommandMap.put(m.getName(), m);
    }
    }
    }


    public void excute(String commandName, Object[] argument) {

    Method m=(Method) this.subCommandMap.get(commandName);

    if(m==null){
    throw new NullPointerException("not found command");
    }
    try{
    m.invoke(this.showCommand,argument);
    }
    catch(Exception e){
    throw new RuntimeException("Load command["+m.getName()+"error");
    }
    }
    }

    public interface ShowCommand {


    public void executeShowList();

    public void excuteShowString();

    public void executeShowInteger();

    public void executeShowLong();
    }

    public class DefaultShowCommand implements ShowCommand {

    public void excuteShowString() {
    System.out.println(String.class.getName());
    }

    public void executeShowInteger() {
    System.out.println(Integer.class.getName());
    }

    public void executeShowList() {
    System.out.println(List.class.getName());
    }

    public void executeShowLong() {
    System.out.println(Long.class.getName());
    }

    }

    posted on 2008-02-25 11:48 昨夜人生 閱讀(192) 評論(0)  編輯  收藏 所屬分類: 其他

    主站蜘蛛池模板: 午夜老司机永久免费看片| 国产美女被遭强高潮免费网站| 亚洲w码欧洲s码免费| 好看的亚洲黄色经典| eeuss免费影院| 在线观看视频免费完整版| 全部免费毛片在线| 亚洲AV无码码潮喷在线观看| 久久免费99精品国产自在现线| 国产1024精品视频专区免费| 亚洲国产精品美女| 国产精品玖玖美女张开腿让男人桶爽免费看| 性xxxx视频播放免费| 亚洲Av无码精品色午夜| 日韩中文字幕免费视频| 亚洲国产精品尤物YW在线观看| 四虎成人精品国产永久免费无码 | 国产成人va亚洲电影| 日韩免费观看的一级毛片| 亚洲成在人线在线播放无码 | 天天影视色香欲综合免费| 亚洲韩国在线一卡二卡| 69式国产真人免费视频| 亚洲成在人线在线播放无码| 亚洲国产av一区二区三区| 免费观看一区二区三区| 亚洲精品成人网久久久久久| 国产精品免费看久久久香蕉 | 亚洲av无码乱码国产精品| 最近中文字幕完整版免费高清| 亚洲二区在线视频| 18级成人毛片免费观看| 国产亚洲精aa在线看| 亚洲国产精品无码久久久久久曰| 亚洲免费一区二区| 亚洲国产成人精品电影| 免费看国产一级片| 亚洲AV无码男人的天堂| 国产福利在线免费| 一区视频免费观看| 亚洲人成在线免费观看|