黑马程序员技术交流社区

标题: 反射细节,谁告诉我 [打印本页]

作者: 逍遥小seng    时间: 2014-11-29 19:08
标题: 反射细节,谁告诉我
class Person
{
        String name;
        private int age;
         Person(String name,int age)
        {
                this.name=name;
                this.age=age;
        }
}
问题是:为什么Constructor c = Person.class.getConstructor(String.class,int.class),会获取不到。
还有Field f = Person.class.getField("name");也获取不到。
都给成public就可以了,为什么?难道我漏掉了视频中老师说得话?
这里不用declared去反射。


作者: cs8630323    时间: 2014-11-29 19:28
用public修饰

作者: DamonZh    时间: 2014-11-29 20:44
Method getMethod(String name, Class<?>... parameterTypes)
          返回一个 Method 对象,它反映此 Class 对象所表示的类或接口的指定公共成员方法。
Field getField(String name)
          返回一个 Field 对象,它反映此 Class 对象所表示的类或接口的指定公共成员字段。

API中说的很明确了,必须是公共成员方法或字段。要不就暴力反射




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