黑马程序员技术交流社区

标题: 关于反射 [打印本页]

作者: 谢威    时间: 2013-7-25 18:35
标题: 关于反射
本帖最后由 杜光 于 2013-7-28 09:44 编辑

1,Class c = Class.forName(args[0]);

2,Class c = Class.forName("java.lang.String")

3,String str= "abc";
Class  c= Class.forName(str);
forName()后面不是跟的是类吗  为什么对象也可以,为什么上面3个都是对的  请各位帮我解释下啊,谢谢
作者: 冒烟的芒果    时间: 2013-7-25 20:11
forName(String className)里面是传入类名,类名是字符串
这三个其实都是给forName()传一个字符串的参数;
args[]是一个字符串数组,args[0]自然就是一个字符串了
这三个虽然都能编译能通过 ,但是运行的时候却会报错。
第一个运行时你必须传入的启动参数是存在的类名;
第三个是运行不了的,因为没有叫“abc”的类






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2