code: protected final void registClass(Class<? extends T> scriptClass,Class<?> ...depends) {
  		if(scriptClass!=null)
  		{
  			boolean isAbstract=Modifier.isAbstract(scriptClass.getModifiers());//是否是抽象类
  			if(isAbstract)
  			{//抽象类
  				_log.error("can't regist isAbstract class:"+scriptClass.getClass());
  				return ;
  			}else
  			{
  				try {
  					T script= scriptClass.newInstance();
  					int code=script.getMessageCode();
  					if(codeMap.containsKey(code))
  					{//如果已经存在相同code的脚步则不加载
  						_log.error("find Repeat code script,addingScript:"+script.getClass()+",existScript:"+codeMap.get(code));
  					}else
  					{
  						codeMap.put(code,scriptClass);
  						_log.info("loaded codeScript,code="+code+"(0x"+Integer.toHexString(code)+"),class="+scriptClass);
  					}
  				} catch (Exception e) {
  					_log.error("scriptClass error:"+scriptClass,e);
  				}
  			}
  			//注册class文件方便热更新
  			String className=scriptClass.getName();
  			String[] parents=new String[depends.length];
  			for(int i=0;i<depends.length;i++)
  			{
  				Class<?> pt=depends[i];
  				parents[i]=pt.getName();
  			}
  			registClass(className,parents);
  		}
  	}
docs: 注册类
  @param script 脚本类
  @param depends 依赖类