UBBFilter.java
package Filter;
public interface UBBFilter {
  public void setInputString(String s);
  public String getInputString();
  public String getFilterString();
}========================================================================filter.java
package Filter;
public class filter implements UBBFilter {
  String s="";
  String outString="";
  public filter(String s) {
    this.s=s;
  }
  public filter(){
  }
  public void setInputString(String s) {
    this.s=s;
  }
  public String getInputString() {
    return s;
  }
  public String getFilterString() {
    return convertString();
  }
  public String convertString(){
    return  "";
  }
}========================================================================MyFilter.java
package Filter;
public class MyFilter {
  String s="";
  String outString="";
  public MyFilter(String s){
    this.s=s;
    outString=s;
  }
  public String getFilterString(){
    return convertString();
  }
  public String convertString(){
    String [] filterClass={"IMGFilter"};//源代码为String [] filterClass={"IMGFilter","URLFilter",....};
    UBBFilter m;
    for(int i=0;i<filterClass.length;i++){
        try{
            m=(UBBFilter)Class.forName("Filter."+filterClass[i]).newInstance();
            m.setInputString(outString);
            outString=m.getFilterString();
        }catch(Exception e){
          e.printStackTrace();
        }
    }
    return outString;
  }
  public static void main(String args[]){
    String s=" ";
    MyFilter myFilter=new MyFilter(s);
    System.out.println(myFilter.getFilterString());
  }
}========================================================================IMGFilter.java
package Filter;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class IMGFilter extends filter {
public IMGFilter(String s) {
super(s);
}
public IMGFilter() {}
public String convertString() {
return this.IMGConverter();
}
public String IMGConverter() {
Pattern p = Pattern.compile("(\\[img\\])(.[^\\[]*)(\\[\\/img\\])",Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(s);
StringBuffer sb = new StringBuffer();
while ((m.find())) {
m.appendReplacement(sb,"<img src=\""+ m.group(2)
+" style=\"cursor:hand\" onmousewheel=\"return imgzoom(this);\"><br>");

}
m.appendTail(sb);
return sb.toString();
}
}
还有很多和IMGFilter.java差不多的文件就是中间不一样...请问这几个文件是干什么的,他们之间是什么关系???  能不能优化下 合成一两个文件......