课程
/后端开发
/Java
/反射——Java高级开发必须懂的
Class.forName(类的完整路径) 那么args[0]里的路径是什么?直接打印输出是数组下标越界
2016-10-25
源自:反射——Java高级开发必须懂的 2-1
正在回答
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高级开发必须要懂的知识点,学好Java高级课程的基础
2 回答这句不太理解,
6 回答还是不理解
3 回答难道我在这个地方 实例了 无数个 class的实例 都是相等的吗???
6 回答对类类型的理解?
1 回答QQ升级可以这样理解吗?