问答详情
源自:2-1 Java 动态加载类

关于这个demo不理解的地方

Class.forName(类的完整路径)  那么args[0]里的路径是什么?直接打印输出是数组下标越界

提问者:把青春献给党 2016-10-25 09:33

个回答

  • zsl200911
    2016-10-25 10:14:31
    已采纳

    args运行是运行时给定的参数,因而在运行是需要给定参数。在IDE工具中打印args.length长度是0,测试arg[0]最好是采用控制台(DOS窗口)运行java程序,运行是给定参数,比如java 类名 参数(java HelloWorld imooc),arg[0]就可以正常打印

  • 小虎头的小骨头
    2016-10-25 10:33:04

    这个args[0]阿,就是在main方法里面传进来的第一个参数.

    你去看main方法的结构

    public static void main(String[] args) {
    //Your Code
    }

    这个string[] args就是用来接收参数的

    所以你下方的args[0]就是传进来的第一个参数,也可以理解为数组里面的下表为0的字符串.从你的代码来看,这个参数应该是一个完整的类名


  • WendyMay
    2016-10-25 10:27:05

    在运行时是使用java office Word,在这里args[0]  就是Word

    Class c1=Class.forName(args[0]);
        System.out.println(args[0]);
        OfficeAble oa=(OfficeAble)c1.newInstance();
        oa.start();

  • 修炼狂人
    2016-10-25 10:17:50

    Class.forname()带包名的类,args[0]这里代表的是某个类的名字,这种情况一般是把编译和运行分开,因为类所在的位置就是当前的相对地址下,所以可以不带包名。可以详细百度一下args,这个是需要你运行的时候输入对应内容的。

  • 慕粉3876148
    2016-10-25 10:10:38

    class.forname(返回的不是类么?)并不是路径啊