建出类的实例,就是说 Class.forName( "Dog") 得到Dog的总类,而newInstance()建立出一条Dog出来。

解决方案 »

  1.   

    改改
    应该是petTypes[1].newInstance()
      

  2.   

    这是Java的反射原理,反射的作用就是根据一个字符串得到一个类的实例,好处不言而喻,可以将类写在配置文件中而实现动态的改变代码功能.而newInstance()则是这个作用
    Class.forName("a.Test").newInstance();就是调用类a.Test的没有参数的构造子实例化一个对象,你可以这样写代码:
    Test test=(Test)Class.forName("a.Test").newInstance();
    当然一般是使用接口或是父类:
    Driver driver=(Driver)Class.forName("com.jdbc.jdbcodbcDriver").newInstace();
      

  3.   

    现在的Java框架大部分都是使用反射,好好学吧,实现了根据字符串得到类的实例,根据方法名和参数得以动态调用方法,爽的很,就是号资源得很