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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 耶稣说wō乖 中级黑马   /  2013-8-26 03:13  /  1065 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 耶稣说wō乖 于 2013-8-26 14:55 编辑

上代码:
package cn.da;import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class Test07 {
         public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException,SecurityException,NoSuchMethodException, InstantiationException {
                     Constructor<Demo> ca = Demo.class.getConstructor();  
                     Demo d = ca.newInstance();  
                     Method m = Demo.class.getMethod("print");
                     System.out.println(m.invoke(d));
           }
}

class Demo
{
                   public Demo(){};
                   public void print()
                   {
                          System.out.println("woshishuaige");
                   }
}



为什么我的输出结果有个null?
我没给他写输出语句啊!
哪冒出来的

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

4 个回复

倒序浏览

public class Test07 {
         public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException,SecurityException,NoSuchMethodException, InstantiationException {
                     Constructor<Demo> ca = Demo.class.getConstructor();  
                     Demo d = ca.newInstance();  
                     Method m = Demo.class.getMethod("print");
                     System.out.println(m.invoke(d));//m.invoke(d)是调用方法 print()方法执行了打印woshishuaige 然后print方法返回值为void  所以打印null
           }
}

class Demo
{
                   public Demo(){};
                   public void print()
                   {
                          System.out.println("woshishuaige");
                   }
}

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报

你代码的输出结果是调用方法 print的输出+invoke的返回值。
说以第一个输出没有什么好解释的,第二个输出null是因为:如果invoke调用方法的返回值为void,会返回null值。

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报
如果您的问题已经解决
请更改分类未解决为已解决
保持队形,谢谢合作

详情参考 如何修改分类

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马