黑马程序员技术交流社区

标题: 反射的问题 [打印本页]

作者: 夕颜    时间: 2015-6-12 17:43
标题: 反射的问题
各位帮忙看看,哪里写错了?
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));
        }
}
作者: 爱李萝卜    时间: 2015-6-12 18:02
你的构造方法是默认类型,所以会报错。只能访问权限为public的构造函数
作者: Dylon    时间: 2015-6-12 19:56
getConstructor();方法只能访问公共的构造方法,改成getDeclaredConstructor();就好了
作者: 夕颜    时间: 2015-6-12 20:21
Dylon 发表于 2015-6-12 19:56
getConstructor();方法只能访问公共的构造方法,改成getDeclaredConstructor();就好了

嗯嗯 ,谢谢
作者: 夕颜    时间: 2015-6-12 20:23
爱李萝卜 发表于 2015-6-12 18:02
你的构造方法是默认类型,所以会报错。只能访问权限为public的构造函数

嗯嗯 谢谢




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