黑马程序员技术交流社区

标题: 关于反射里的method() [打印本页]

作者: xxzlhx    时间: 2015-4-2 17:30
标题: 关于反射里的method()
String startingClassName=arg[[3];
Method mainMethod=class.forName(startingClassName).getMethod("main",String.class);
在这句代码中forName(startingClassName)中,为什么还能添加这个startingClassName?
按照method方法,应该是直接class.ForName.getMethod("main",String.class);才对呀。为什么还能添加那个?添加进去又是什么意思呢?
作者: 1659177869    时间: 2015-4-2 21:21
startingClassName是一个变量,它相当于接收了你给main函数传递的第四个参数,传递的参数是个类名
通过class.forName("类名")获取该类的字节码对象,这个字节码文件对象提供了getMethod("main",String.class)方法,你下面class.ForName.getMethod("main",String.class);是不对的forName里面没类名,得不到字节码文件对象




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