黑马程序员技术交流社区

标题: Method.invoke()方法疑问 [打印本页]

作者: 绿树林    时间: 2013-4-1 21:32
标题: Method.invoke()方法疑问
本帖最后由 郭华章 于 2013-4-2 12:50 编辑

Method.invoke()的第一个参数如果为null,教程上说该Method对象对应的是一个静态方法,这句话怎么理解呢,
能给个简单形象的例子吗

作者: fighting    时间: 2013-4-1 22:46
什么意思,怎么会是静态方法呢。。。
作者: 绿树林    时间: 2013-4-1 22:51
来源:张孝祥——成员方法的反射


作者: 932759732    时间: 2013-4-1 22:54
本帖最后由 杨玄文 于 2013-4-1 23:07 编辑

因为这个方法的第一个参数是用来接收一个对象的。
第一个参数为null则表示这个方法的调用不需要对象。
所以是静态方法。
当你想用invoke方法去调用一个静态方法的时候。你无法传入一个对象。传入了就不是静态方法了。所以只能是null.
作者: vmvm555    时间: 2013-4-2 11:36

Method.invoke()这个方法中如果传了对象的话,可以理解成对象调用了这个方法,而静态方法是不需要对象来调用的,所以可以填null




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