>>579
なんでもファクトリの場合・・・
public class Factory{
 public static Object getInstance(String className){
  Object obj = (Object)Class.forName(className).newInstance();
  if(obj instanceof HogeIF){
   return new HogeImpl();
  }
  else if(obj instanceof HageIF){
   return new HageImpl;
  }
  else・・・
 }
}

呼び側
HogeIF hoge = (HogeIF)Factory.getInstance("HogeIF");

ここまでやるとまどろっこしいか。
でもInferfaceと実装を完全に切り分けたいならしょうがないかも?