黑马程序员技术交流社区
标题:
反射Field类
[打印本页]
作者:
孙宁洋
时间:
2013-6-4 19:19
标题:
反射Field类
反射Field类中既然有了 getDeclareField为什么还要有getField ,getField效率高吗
作者:
yin1031468524
时间:
2013-6-5 00:06
Field类代表Java类中的成员变量
获取非私有成员变量的方法: Field getField();只能返回类中非私有的成员变量。类中私有的成员变量对这个方法是不可见的。
获取私有成员变量的方法:Field getDeclareField();
要想取得私有成员在某个对象中的取值,还要把这个私有成员设置成可得到的:方法是setAccessible(true);
作者:
杨青
时间:
2013-6-5 00:25
其中getField用于返回一个指定名称的属性,但是这个属性必须是公有的,这个属性可以在父类中定义。如果是私有属性或者是保护属性,那么都会抛出异常提示找不到这个属性。getFields则是返回类型中的所有公有属性,所有的私有属性和保护属性都找不到。getDeclaredField获得在这个类型的声明中定义的指定名称的属性,这个属性必须是在这个类型的声明中定义,但可以使私有和保护的。getDeclaredFields获得在这个类型的声明中定义的所有属性,包括私有和保护的属性都会被返回,但是所有父类的属性都不会被返回。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2