你这个类是数组的角标越界.
具体越界的位置args[0],因为你刚开始运行的时候,args[]这个字符串数据里面并没有参数,所以这个时候数组里面的数据是空的,你调用第一个位置的数据,肯定就会出错.
你写的这个例子应该这样改,如果是直接在命令行中用java命令编译的时候,线运行javac,然后运行java的时候,在最后面输入要调用的类的名称,也就是给args赋值.比如: javac ReflectTest.java 然后 java ReflectTest day01.TestArguments
或者,你也可以直接在forName的参数设置为一个值,值的内容就是TestArguments的包名加类名,中间用点,是字符串.这样就ok了
|