为了账号安全,请及时绑定邮箱和手机立即绑定

关于这个demo不理解的地方

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

正在回答

5 回答

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

1 回复 有任何疑惑可以回复我~
#1

修炼狂人

这个说明比较清楚,请参考
2016-10-25 回复 有任何疑惑可以回复我~
#2

把青春献给党 提问者

Class.forName(args[0]) 我想问的是这个。 视频中args[0]输入的是word 但是forName函数要求的不是完整类名路径嘛?他只有类名怎么也可以运行。 我没有用dos测试过。eclipse好像是不支持运行时输入的
2016-10-25 回复 有任何疑惑可以回复我~

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

你去看main方法的结构

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

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

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


1 回复 有任何疑惑可以回复我~

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

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

1 回复 有任何疑惑可以回复我~

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

2 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于这个demo不理解的地方

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信