把青春献给党
2016-10-25 09:33
Class.forName(类的完整路径) 那么args[0]里的路径是什么?直接打印输出是数组下标越界
args运行是运行时给定的参数,因而在运行是需要给定参数。在IDE工具中打印args.length长度是0,测试arg[0]最好是采用控制台(DOS窗口)运行java程序,运行是给定参数,比如java 类名 参数(java HelloWorld imooc),arg[0]就可以正常打印
这个args[0]阿,就是在main方法里面传进来的第一个参数.
你去看main方法的结构
public static void main(String[] args) {
//Your Code
}
这个string[] args就是用来接收参数的
所以你下方的args[0]就是传进来的第一个参数,也可以理解为数组里面的下表为0的字符串.从你的代码来看,这个参数应该是一个完整的类名
在运行时是使用java office Word,在这里args[0] 就是Word
Class c1=Class.forName(args[0]);
System.out.println(args[0]);
OfficeAble oa=(OfficeAble)c1.newInstance();
oa.start();
Class.forname()带包名的类,args[0]这里代表的是某个类的名字,这种情况一般是把编译和运行分开,因为类所在的位置就是当前的相对地址下,所以可以不带包名。可以详细百度一下args,这个是需要你运行的时候输入对应内容的。
class.forname(返回的不是类么?)并不是路径啊
反射——Java高级开发必须懂的
151465 学习 · 335 问题
相似问题