A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© luofeng 中级黑马   /  2014-9-20 23:29  /  1164 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为甚么要用反射方式调用main方法啊?和直接调用有什么不同?

6 个回复

倒序浏览
视频里讲的没听太明白。高新-23
回复 使用道具 举报
求大神概括下。。。
回复 使用道具 举报
如果你不知道main方法怎么办啊??不是需要经过反射去得到这个main方法吗?然后再调用main方法!直接调用时你知道,而反射是你不知道!
回复 使用道具 举报
个人理解是:用反射方式调用main函数。
1、这个前提是,我们不知道main函数所在的类名,也不知道main函数的功能。简单来说就是我们不知道要调用哪个类的main函数。
2、我们知道的是,有这么一个main函数,就是主函数,知道主函数的形式参数。
3、而类名(一般是字符串)是用户传进来的。知道了类名,我们才可以进行反射,找对这个类名对应类的字节码,进而获取到main函数,然后进行调用。
总结来说:这就是一个可以调用一个类(这个类主函数)中main函数的功能或是对象,只需我们传入类名即可。
回复 使用道具 举报
这个我的理解是这个样子的
张老师举过一个例子说,大概意思是,我盖房子的时候,你还在上学,我盖好的房子要使用你未来买的窗户,但是有不知道是什么样子的窗户,只知道会装窗户。。。同理,现在你写程序的时候不知道具体要执行哪一个类,但是已经知道你肯定要使用那个类中的main方法,所以就用反射来调用。。。只要在执行的时候,将需要执行的类的名字传递进去就可以了。。。
回复 使用道具 举报
admin 程序媛 2014-9-22 00:04:32
7#
你可能一辈子也不会这么去干,这种应用场景极少

知道可以这样干就行。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马