Treflection03_getFields_getField
1、
package reflectionZ; import java.lang.reflect.Constructor;
import java.lang.reflect.Field; public class Treflection03
{
public static void main(String[] args) throws Exception
{
// 第16课
// getFields 和 getField Class<?> clazz1 = Class.forName("reflectionZ.Cat"); // 通过Class对象来得到构造函数
Constructor<?> c2 = clazz1.getConstructor(String.class, int.class);
Object obj = c2.newInstance("小猫咪", 1); Field field = clazz1.getField("FstrName");
//field.getModifiers(); // 返回修饰符
String strName = (String)field.get(obj);
System.out.println("strName : "+strName); Field field02 = clazz1.getDeclaredField("Fstr1");
field02.setAccessible(true); // 暴力访问
String str1 = (String)field02.get(obj);
System.out.println("str1 : "+str1); // 这里看出来,反射机制 对于属性的set/get 貌似不是通过 setter/getter方法...
field.set(obj, "XiaoMaoMi");
strName = (String)field.get(obj);
System.out.println("strName : "+strName);
}
}
2、
Treflection03_getFields_getField的更多相关文章
随机推荐
- 并发编程6 锁&进程&队列
1.进程的其他方法 2.验证进程空间隔离和守护进程 3.孤儿进程和僵尸进程 4.锁 for循环加join数据共享 5.进程队列的简单应用 6.通过队列实现进程间的通信 7.生产者消费者模型及Queue ...
- <2014 04 29> *nix环境编程常用库总结
-------------------------linux常用头文件如下:POSIX标准定义的头文件<dirent.h> 目录项<fcntl.h> ...
- Ansi、GB2312、GBK、Unicode(utf8、16、32)
关于ansi,一般默认为本地编码方式,中文应该是gb编码 他们之间的关系在这边文章里描写的很清楚:http://blog.csdn.net/ldanduo/article/details/820353 ...
- 【我的Android进阶之旅】解决 Error:CreateProcess error=216, 该版本的 %1 与您运行的 Windows 版本不兼容。请查看计算机的系统信息,了解是否需要 x86
一.错误描述 刚刚打开Android Studio新建一个项目,然后就编译不了,报了如下所示的错误: 错误描述为: Error:CreateProcess error=216, 该版本的 %1 与您运 ...
- Linux ssh面密码登录
1.生成自己的公钥和私钥 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa 进入~/.ssh目录看多了两个文件:id_rsa id_rsa.pub 其中一个是公钥一 ...
- Android Studio设置行宽、格式化断行
设置基于Android studio 1.2,其它版本可能位置不大一样,可以直接搜索 1.设置行宽 就是那条右标准线的位置:Setting-->Editor-->Code Style,右侧 ...
- Excel数据常用操作,vlookup,text,trim,数据格式导致出错
数据有缺漏,需要在数据前面补零 =TEXT(F70,"000000") 前面是要操作的数据,后面是补几位 匹配数据(将一个表格中的数据进行匹配) =VLOOKUP(C2,aaa,4 ...
- js, 树状菜单隐藏显示
js写的不是很严谨~~~嘿嘿 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...
- github使用ssh秘钥的好处以及设置(转)
git使用https协议,每次pull,push都要输入密码,使用git协议,使用ssh秘钥,可以省去每次输密码 大概需要三个步骤:一.本地生成密钥对:二.设置github上的公钥:三.修改git的r ...
- javascript DOM dindow.docunment对象
一.找到元素: docunment.getElementById("id"):根据id找,最多找一个: var a =docunment.getElementById(&qu ...