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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 夕颜 中级黑马   /  2015-6-12 17:43  /  252 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

各位帮忙看看,哪里写错了?
import java.lang.reflect.*;
class Num
{
        private int x;
        public int y;
        Num(int x,int y)
        {
                this.x = x;
                this.y = y;
        }
}
class FieldTest
{
        public static void main(String[] args)  throws Exception
        {
                Class cnum = Num.class;
                Constructor cons = cnum.getConstructor(int.class,int.class);
                Num num = (Num)cons.newInstance(7,8);
                Field fy = cnum.getField("y");
                System.out.println(fy.get(num));
        }
}

4 个回复

倒序浏览
你的构造方法是默认类型,所以会报错。只能访问权限为public的构造函数
回复 使用道具 举报
getConstructor();方法只能访问公共的构造方法,改成getDeclaredConstructor();就好了
回复 使用道具 举报
Dylon 发表于 2015-6-12 19:56
getConstructor();方法只能访问公共的构造方法,改成getDeclaredConstructor();就好了

嗯嗯 ,谢谢
回复 使用道具 举报
爱李萝卜 发表于 2015-6-12 18:02
你的构造方法是默认类型,所以会报错。只能访问权限为public的构造函数

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