我从书上看到一个例子,也许可以回答你的问题.public static void main(String[] args){
    Class c = Class.forName(args[0]);
    Object o = c.newInstance();
    o.start();
}执行时   java className good
或       java className bad这样的话,
good 或者 bad 类被实例化了.而new 是做不到这一点的.
其实就一句话, forName或classLoader方法增加了程序的 灵活性.