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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 兜兜转转 中级黑马   /  2013-8-31 08:23  /  1073 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我发现在发射这一块使用到的可变参数是最多的,但是我想请问,假如我要用反射一个无参数的构造方法,用可变参数怎么写呢?

评分

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

查看全部评分

4 个回复

倒序浏览
class.newInstance方法内部是反射类无参的构造函数的对象!
sun公司为简化开发人员创建对象,它在class对象中也提供了一个newInstance方法,用于创建类的对象,这样开发人员可以避免每次都需要去反射Constructor类以创建对象。利用此种方式创建类对象时,类必须有一个无参的构造函数,否则编译失败。
回复 使用道具 举报
月黑风高 发表于 2013-8-31 09:17
class.newInstance方法内部是反射类无参的构造函数的对象!
sun公司为简化开发人员创建对象,它在class对象 ...

说错了,是无参数的方法
回复 使用道具 举报
下面是一般方法的步骤:(没有写带返回值的,私有的和静态方法)
                //1.加载类,一定要写全名称,包名.类名
                Class clazz=Class.forName("Person");
               
                //2.解剖方法,两个参数:方法名称,方法参数类型,空参为null,也可省略不写
                Method method=clazz.getMethod("aa1",null);
               
                //3.方法调用,两个参数:那个对象调用传那个对象,空参数为null,也可省略不写
                Person p=new Person();
                method.invoke(p,null);

评分

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

查看全部评分

回复 使用道具 举报

如果您的问题已经解决
请更改分类未解决为已解决
保持队形,谢谢合作

详情参考 如何修改分类

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